InfraPub 为您找到相关结果 491

bmon:一个强大的网络带宽监视和调试工具

选项: $ bmon -bp enp1s0 我们也可以像下面这样按秒指定刷新间隔时间: $ bmon -r 5 -p enp1s0 如何使用 bmon 的输入模块 bmon 有很多能提供网卡统计数据的输入模块,其中包括: netlink - 使用 Netlink 协议从内核中收集网卡和流量控制统计信息。这是默认的输入模块。 proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接不可用时的备用模块。 dummy - 这是用于调试和测试的可编程输入模块。 null - 停用数据收集。 要查看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它: $ bmon -i netlink:help 下面的命令将启...阅读全文

博文 2021-01-28 17:50:27 debian.cn

一位资深Java架构师的晋级心得

Spring Cloud:Eureka注册中心,Ribbon集成REST实现负载均衡,OpenFeign声明式服务调用,Hystrix实现服务限流熔断降级和数据监控,Zuul实现微服网关,Config分布式统一配置中心,分布式链路跟踪,集成Spring Cloud实现统一整合方案虚拟化容器Docker:Docker环境搭建和使用,搭建Docker私有仓库,Docker分布式集群部署,Kubernetes简介 4. 分布式 Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理分布式开发框架:分布式系统调用技术:RPC,Apache分布式系统Zookeeper原理与应用,阿里Dubbo设计思想与应用分布式中间件:分布式服务器治理,分布式消息通信,分布式数据缓存...阅读全文

博文 2019-01-13 22:49:22 debian.cn

理解 Linux 的虚拟内存

前不久组内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,一些概念还...阅读全文

博文 2018-11-25 11:03:49 debian.cn

中国开源人访谈系列之:清风博主

婆/女朋友的电脑!!! 7.您对自己的孩子在开源或者计算机领域有什么期许?或者他有没有因为你对Linux的热爱影响他去关注、喜欢Linux? 答:对于孩子来说,顺其自然吧,不会刻意去引导他。 8.作为一名老师更是一名家长,您觉得“Linux要从孩子抓起”有必要吗,特别是在中国? 答:这些年喊的不少了,有用么?现在的教育制度问题,作为教育工作者更加无奈,其他教育方面的问题更多,计算机教育、Linux教育。。。不乐观! 9.您觉得中国有必要在教育行业推广Linux吗? 答:答案是肯定的,只是限于体制、师资、观念等方面原因,很有可能沦为形象工程或某些人赢利的工具而已。但,该做的还要去做,不去做,永远不会有改观。 10.小编知道您有一个自己的网站(http://phpcj.org/),上面更新的...阅读全文

博文 2021-01-28 17:50:13 debian.cn

聊聊很重要的内核技术eBPF

Viljoen在其中介绍了Netronome SmartNIC上每个FPC每秒达到300万个数据包,每个SmartNIC有72到120个FPC,可能最大支持eBPF吞吐量4.3 Tbps!(理论上) eBPF 触发了新一代网络、安全性、应用程序配置/跟踪和性能故障排除等领域的工具开发,这些工具不再依赖现有的内核功能,而是在不影响执行效率或安全性的情况下主动重新编程运行时行为。 那我们看看有哪些基于 eBPF 的工程,这些工程或许你已经知道,或是已经经常使用。 基于eBPF的项目 1:bcc BCC是用于创建基于eBPF的高效内核跟踪和操作程序的工具包,其中包括一些有用的命令行工具和示例。 BCC简化了用C进行内核检测的eBPF程序的编写,包括LLVM的包装器以及Python和Lua的前。它还提供了用于...阅读全文

博文 2020-08-16 11:08:44 debian.cn

处理器架构消亡史

了市场,并帮助公司突破了10亿美元营收的大关。到了1989年,采用了SPARC架构的处理器开始应用于高性能工作站及服务器上,基于该架构的开放性和RISC体系的特点很快让其成为了国际流行的架构。同一时间,为了扩大SPARC的影响力并作出进一步优化,“SPARC International”组织成立,包括摩托罗拉、东芝、富士通、Aeroflex Gaisle都参与其中。1995年,随着UltraSPARC I的推出,Sun在高微处理器市场的领导地位得以进一步巩固。SPARC的成功引起从1980年代和90年代的许多厂商都引入了类似的RISC设计。MIPS架构是另一个值得提一提的处理器架构。1981年,约翰·轩尼诗在斯坦福大学设立了 MIPS (Microprocessor without...阅读全文

Debian 相比 Ubuntu 有哪些不同之处

Stable和Update。然而,用户需要把注意力主要放在三大类软件库上。 Debian系统具有的优点之一是,你可以在下面这两个极之间作一选择:极其稳定,但缺点是版本较老;或者非常先进,但缺点是软件不大稳定,技术出现的重大变化可能让不知情用户的系统崩溃。这里的选择取决于你是升级核心组件(比如Linux内核),还是升级灾难发生时不影响其他东西的自带代码库的独立式实用工具。 恰恰相反,Ubuntu的程序包来自Debian测试版或不稳定版。Ubuntu的软件库按照其他标准来加以组织,而不是由测试状态来加以组织。Main含有Canonical支持的软件,以及Ubuntu社区支持的Universe软件。Restricted含有专有驱动程序,其中Multiverse存放有版权或其他法律限制的软件。 另一个主要的...阅读全文

博文 2017-12-22 23:41:07 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

有两个: 1、技术委员会。技术委员会有权对技术相关的政策做出决定,在最极的情况下,如果开发者的行为被判定为对发行版具有很大的破坏性,那么委员会可以推翻 Debian 开发者的决定。 但是,技术委员会的决策能力权威在过去的一些争论中受到了损害,比如委员会被个人开发者控诉不公平。 可能,委员会在操作中的确存在不透明的地方,然而 Debian 社区中过于鲜明的个体性,或许也难逃其究。正如 Stapelberg 所言,Debian 的一些维护者出于个人喜好拒绝合作,维护者给予的个人自由度太高对 Debian 构成了严重影响。 2、一般决议流程(general-resolution process)。也就是投票,项目成员可以通过投票来改变或推翻技术委员会(或其他人)的决定、制定新的政策、或者修改章程...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

如何写好技术文档 — 来自十多年的文档经验总结

齐全的API都是设计良好的API,虽然这个感觉并不完全正确,但这两者确实是强相关的,所以在很多人眼里,文档的完善度也成为衡量一个产品专业度的指标。 - 避免被重复的问题打扰: 有些问题你只需要写在文档里,这样有人来问你的时候你就可以让他直接去看文档了,而不是又给他解释一遍。 ## 为什么大多数人都不喜欢写文档?## 关于文档的重要性,每个技术人或多或少都知道一些,但很多人还是没有写文档的习惯,为什么? 除了上文中提到的文档的收益滞后性外,还有以下几点原因: - 很多工程师习惯将写代码和写作割裂开,不仅仅是在工作上,而且在思想上就认为它们是完全不相关的两项工作,这就导致好多人重代码不重文档。 - 也有很多工程师认为自己不善写作,索性就不写了。 这实际是个偷懒的借,写文档不需要华丽的辞藻、生动...阅读全文

博文 2021-07-30 16:15:13 joseph

Linux 容器 vs 虚拟机 — 谁更胜一筹

Kubernetes 成为头条新闻,并成为容器阵营的头人物。 你相信容器正在超越虚拟机吗?也许相反,你认为未来这两种技术将会结合?无论如何,请点击评论,让我们听听您的观点。无论如何,不管你是运行一个复杂的容器,还是运用虚拟机,我都想听听你对他们的看法。 编译自:datamation...阅读全文

博文 2017-11-25 10:23:56 debian.cn

Terraform 学习总结 — Terraform 简介

Terraform Terraform 的安装非常简单,直接把官方提供的二进制可执行文件保存到本地就可以了。比如笔者习惯性的把它保存到 /usr/local/bin/ 目录下,当然这个目录会被添加到 PATH 环境变量中。完成后检查一下版本: 通过 -h 选项我们可以看到 terraform 支持的所有命令: 在 Azure 上创建一个 Resource Group 要让 Terraform 访问 Azure 订阅中的资源,需要先创建 Azure service principal,Azure service principa 允许你的 Terraform 脚本在 Azure 订阅中配置资源。请参考这里创建 Azure service principal。 配置 Terraform 环境变量 若要配置...阅读全文

DevOps 越来越流行,2019 年这八大趋势值得关注

息,帮助执行琐碎的任务,从而让 IT 人员能够完成更有针对性的工作。它们可以学习模式、预测问题并提出解决方案。如果 DevOps 的目标是统一开发和运营,AI 和 ML 可以消除过去二者之间的一些“对抗”状态。 本文转自微信公众:高效开发运维...阅读全文

博文 2018-12-10 22:49:57 debian.cn

为何 Kubernetes 如此受欢迎?

一个原因是 Kubernetes 可以在任何云工作。大多数企业在现有的内部数据中心和公共云之间共享资产,对混合云技术的需求至关重要。 Kubernetes 可以部署在公司先前存在的数据中心内、任意一个公共云环境、甚至可以作为服务运行。由于 Kubernetes 抽象了底层基础架构层,开发人员可以专注于构建应用程序,然后将它们部署到任何这些环境中。这有助于加速公司的 Kubernetes 采用,因为它可以在内部运行 Kubernetes,同时继续构建云战略。 现实世界的案例 Kubernetes 继续增长的另一个原因是,大型公司正在利用这项技术来解决业界最大的挑战。Capital One、Pearson Education 和 Ancestry.com 只是少数几家公布了...阅读全文

博文 2017-11-07 23:58:26 debian.cn

高性能缓存服务器 Nuster

单独设置一个后 配置样例 global cache on data-size 100m #daemon ## to debug cache #debug defaults retries 3 option redispatch timeout client 30s timeout connect 30s timeout server 30s frontend web1 bind *:8080 mode http acl pathPost path /search use_backend app1a if pathPost default_backend app1b backend app1a balance roundrobin # mode must be http mode http...阅读全文

博文 2017-12-15 22:17:31 debian.cn

linux下查看系统socket读写缓冲区_eyucham的专栏

系统提供的socket缓冲区大小为8K,你可以将之设置为64K,尤其在传输实时视频时。 socket发送数据时候先把数据发送到socket缓冲区中,之后接受函数再从缓冲区中取数据,如果发送特别快的时候,缓冲区很快就被填满(socket默认的是1024×8=8192字节),这时候我们应该根据情况设置缓冲区的大小,可以通过setsockopt函数实现 #include #include #include #include #include #include #include #include int main...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

JDK 11 版本时间表公布

现的问题。” “我看到有人抱怨说,Java 10 不应该在 IDE 更新后才能发布,就像鸡和鸡蛋问题一样,除非鸡已经存在并且等待鸡蛋出现。” “2016 年的抱怨者:让我们用 JavaScript 代替(YOLO)。2018 年的抱怨者:还是 2016 年的那波抱怨者,他们现在又转回 Java,因为 YOLO 太难维护了。” “因为 Oracle,Java 命中注定。” 时间会告诉我们这个新的发布周期会将如何影响 Java 社区。 其他资源 Wikipedia 中列出的 Java 版本历史记录 Donald Smith 的 JavaFX 和其他 Java 客户路线图(2018 年 3 月 7 日) Simon Ritter 的 Duke Takes His Last Tumble(2018...阅读全文

博文 2018-04-27 08:33:08 debian.cn

最全 MongoDB 基础教程

{key:{$gt: value}} db.ruochen.find({'likes': {$gt:100}}).pretty() where likes > 100 大于等于 {key:{$gte: value}} db.ruochen.find({'likes': {$gte:200}}).pretty() where likes >= 200 不等于 {key:{$ne: value}} db.ruochen.find({'likes': {$ne:200}}).pretty() where likes != 200 AND条件 find() 方法可以传入多个键(key),每个键(key)以逗隔开,即常规 SQL 的 AND 条件 格式: db.ruochen.find({key1...阅读全文

博文 2021-02-22 07:45:45 OSChina

Python的闭包和装饰器

了一个闭包——inner_func,并且该闭包持有自由变量——name,因此这也意味着,当函数func的生命周期结束之后,name这个变量依然存在,因为它被闭包引用了,所以不会被回收。 另外再说一点,闭包并不是Python中特有的概念,所有把函数做为一等公民的语言均有闭包的概念。不过像Java这样以class为一等公民的语言中也可以使用闭包,只是它得用类或接来实现。 nonlocal 语句 在 python 的函数内,可以直接引用外部变量,但不能改写外部变量,因此如果在闭包中直接改写父函数的变量,就会发生错误: 在 python 2 中可以在函数内使用 global 语句,但全局变量在任何语言中都不被提倡,因为它很难控制,python 3 中引入了 nonlocal 语句解决了这个问题...阅读全文

博文 2014-07-23 17:06:38 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

成一个三节点的 Kubernetes 集群的创建,可以开始愉快的玩耍了。 K3s 的蛋蛋 如果执行 kubectl get pods --all-namespaces,就会看到其它服务的一些 Pod,比如 Traefik。Traefik 在这里起到是反向代理和负载均衡器的作用,它可以让流量从单个入进入集群后引导到集群中的各个服务。Kubernetes 支持这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选择。...阅读全文

博文 2020-04-12 16:30:23 debian.cn

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

件公司Tableau卖给了Salesforce公司。AWS业务有点像自助餐,给开发者和终用户提供了几百种在线服务自由选择,另外每年还不断推陈出新。从财务角度看,这一业务还是个“黑箱”。亚马逊没有披露云计算业务的具体营收来源,也没有给出各个子版块的利润率情况。AWS诞生初期,就是作为一个基础计算服务的外包供应商,包括计算资源和数据存储等。可以判断,该业务大部分收入和利润仍然来自这些业务。科技业人士克里·奎因(Corey Quinn)曾经在私营的Duckbill集团担任首席云经济学家,帮助客户公司降低他们在亚马逊云计算的开支。奎因预测,AWS一半以上的收入来自于EC2计算服务。这一服务相当于让企业用户在亚马逊数据中心租赁到了实体服务器虚拟的“一部分”。奎因表示,计算服务再加上“弹性块存储...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Golang常见的十大算法精简版

} /*** * go特有变量交换 */ func SwapGo(list []int, i, j int) { list[i],list[j]=list[j],list[i] } /*** * go变量高阶交换(不推荐,一般不好理解) */ func SwapGoAdvanced(list []int, i, j int) { list[i]=list[i]+list[j] list[j]=list[i]-list[j] list[i]=list[i]-list[j] } 运行排序方法 使用终执行go get github.com/e9ab98e991ab/go-algorithm执行touch main.go执行vim main.go拷贝下方代码块代码到main.go文件中wq保存后直接执行go run...阅读全文

博文 2019-09-05 09:31:10 debian.cn

CentOS停止维护后,我们应该用什么操作系统?

Debian 提供的免费的长期支持(LTS)版本将所有 Debian 稳定版本的生命周期延长到至少 5 年。除此以外,还有商业的扩展 LTS 计划,该计划将对有限的软件包的支持延长到了 5 年以上。云映像官方云映像可用于所有的主流云平台。我们还提供了工具和配置,因此您可以构建自己的自定义云映像。您还可以在桌面或容器里的虚拟机中使用 Debian。转自:https://www.debian.org/intro/why_debian.zh-cn.html...阅读全文

TLS1.3 正式版发布 — 特性与开启方式科普

互联网工程指导委员会(IETF)释出了传输层安全性协议的最新版本 TLS 1.3。TLS 被广泛用于创建安全连接,TLS 1.3 是基于 TLS 1.2,主要区别是移除了较少使用的弱加密算法,移除 MD5 和 SHA-224 哈希支持,请求数字签名,集成 HKDF,移除许多不安全或过时特性的支持,不再支持静态 RSA 密钥交换,握手将默认使用前向安全 Diffie-Hellman,客户只需要一次往返就能与服务器建立安全和验证的连接,等等。Firefox 和 Chrome 都已经支持 TLS 1.3 的草拟版本。 TLS 1.3是一种新的加密协议,它既能提高各地互联网用户的访问速度,又能增强安全性。我们把使互联网实现安全通信的基础性技术称为传输层安全协议(TLS)。TLS是安全套接层协议...阅读全文

博文 2018-08-14 14:40:05 debian.cn

六个开源软件开发的潜规则

玲珑,面面俱到 作为一个开发者,你很可能希望为开源项目解决一个特定的痛点。或许你想要运行在一个目前还不支持的系统上,抑或你很希望改革社区目前使用的安全技术。想要引进新技术,特别是比较有争议的技术,最好的办法就是让人无法拒绝它。你需要透彻地了解底层代码,考虑每个极情况。在不影响已实现功能的前提下增加新功能。不仅仅是完成就行,还要在特性的完善上下功夫。 糜不有初,鲜克有终 开源社区也有许多玩玩就算的人,但是承诺了就不要轻易失信。不要就因为提交被拒就离开社区。找出原因,修正错误,然后再试一试。当你开发时候,要和整个代码库保持一致,确保即使项目发生变化而你的补丁仍然可用。不要把你的代码留给别人修复,要自己修复。这样可以在社区形成良好的风气,每个人都自己改。 这些“潜规则”看上去很简单,但是还是有许...阅读全文

博文 2017-05-20 10:27:11 debian.cn

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用性。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 调整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: 重启 blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

Debian 成为主流 Linux 操作系统的七个原因

;几个对应工具(比如dnf和urpmi)有一两个选项是dpkg和apt-get所没有的。然而,它们仍是一大批用来查看和处理软件包的实用工具的核心。没有对应工具提供那么多的选项来解决安装冲突。这么多年后,dpkg和apt-get仍然独具一格。 6.风险的选择 Debian的三个主要软件库是Stable(稳定)、Testing(测试)和Unstable(不稳定)。这些名称体现了每一个软件库中的软件包在测试这条道路上走得有多远,让用户可以根据自己的情况来兼顾最新软件包和稳定性程度。 如果你主要关注的是稳定性,那可以坚持使用Stable。相比之下,如果你想要最新的软件,可以使用Unstable,不过面临这种风险:有更多的软件错误,不相兼容。Testing通常介于这两个极之间。 当然了,风险程度是相对...阅读全文

博文 2021-01-28 17:50:13 debian.cn

Debian Live 项目的剧变

他们的努力开发出可行的、可靠的、经过完善测试替代品,以及一个合适的取代 live-build 的候选者,这对于 Debian 项目有利无害。如果他们继续做这件事,他们不会「用一个官方改良,但不可靠且几乎没有经过测试的待选者取代 live-build 」。到目前为止,我还没有看到他们那样做的迹象。其间, live-build 仍保留在存档中——它仍然处于良好状态,且没有一种经过改良的继任者来取代它,因此开发团队没有必要尽快删除它。 11 月 24 , Armstrong 也在他的博客上发布了一个有关 Debian Live 的新消息。它展示了从 Baumann 退出起两周内的令人高兴的进展。甚至有迹象表明 Debian Live 项目与 live-wrapper 开发者开展了合作。博客上也有...阅读全文

博文 2021-01-28 17:50:14 debian.cn

Debian 10.8 发布:包括多项安全更新和错误修复

Debian 项目团队宣布其稳定发行版 Debian 10 (代 "buster")的第八次更新。本次更新主要是对安全问题进行了修正,同时也对一些严重的问题进行了调整。安全公告已经单独发布,并在可用的地方进行了参考。 需要注意的是,这个点发行版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常规位置提供。 将现有的安装升级到这个版本可以通过将软件包管理系统指向Debian的许多HTTP镜像之一...阅读全文

博文 2021-02-07 10:57:22 joseph

Go 语言的大版本更新:Go 2.0 安排上了

废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统 采用增量升级的方式,而非单独发布重大更新版本 实施新的提案评估流程,以评估尚未解决且被标记为提案的 issue 将会在 Go 1.13 版本中选择 Go 2 部分的提案 背景 早在2017年的 GopherCon 大会上,Russ Cox(Go 核心开发团队的技术 leader)就已经正式开始思考 Go 的下一个大版本(相关文章)。当时官方非正式地将它称为 Go 2,但我们知道,所谓的 Go 2.0 并非一个单独的重大更新版本,而是通过“增量更新(incremental)”的方式以逐渐抵达 "Go 2.0"。所以本文对这个未来版本的称 —— 也暂且用 Go 2 来描...阅读全文

什么是线程安全,以及并发需要知道的几个概念

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直卡在门。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

博文 2018-12-31 20:44:06 debian.cn

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

/kitex-benchmark。 扩展性:Kitex 设计上做了模块划分,提供了较多的扩展接以及默认的扩展实现,使用者也可以根据需要自行定制扩展。Kitex 未耦合 Netpoll,开发者可选择其他网络库扩展使用。 消息协议:RPC 消息协议默认支持 Thrift、Kitex Protobuf、gRPC。Thrift 支持 Buffered 和 Framed 二进制协议;Kitex Protobuf 是 Kitex 自定义的 Protobuf 消息协议,协议格式类似 Thrift;gRPC 是对 gRPC 消息协议的支持,可以与 gRPC 互通。除此之外,使用者也可以扩展自己的消息协议。 传输协议:传输协议封装消息协议进行 RPC 互通,传输协议可以额外透传元信息,用于服务治理,Kitex 支持的...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

五款流行开源的 HIDS 系统简单介绍

文件大小限制。4. SamhainSamhain是具有中央管理功能的开源HIDS,可帮助您检查文件完整性,监视日志文件并检测隐藏的进程。这种多平台解决方案可在POSIX系统(Unix,Linux,Cygwin / Windows )上运行。Samhain的安装非常简单,您只需要从官方网页下载tar.gz文件并将其安装在系统上即可。在此之前,您需要确保MySQL和Apache在您的服务器上运行。Samhain项目带有大量详细的文档。该HIDS还通过TCP / IP通信提供集中和加密的监视功能。它与其他先前讨论过的开源HIDS的不同之处在于其隐身功能- 使其免受入侵者的侵害- 这要归功于其开发人员编写的偏执代码。而Samhain 社区 很好,比其他HIDS难安装。Windows的客户要求安装...阅读全文

博文 2023-01-26 11:07:43 joseph

三个技巧 大幅减少 Docker 镜像体积

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看起来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 语言的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的内核接。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的空间,并侧重于安全性。 在编译应用程序时,大部分都是针对特定的 libc 进行编译的。如果你要将它们与另一个 libc 一起使用,则必须重新编译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

博文 2018-09-06 10:50:29 debian.cn

“Debian 章程有毒” - OSCHINA

能角色的分工不均衡,再加上个人角色的过度自由,使得 Debian 章程变成了 Joey 中的那份“有毒文件”。 我想敏捷哲学中的一些事情是对的:想办法减少因为改变而产生的成本,去赋能一些个体决策的权利、去行动,而不是在事前就害怕失败、畏首畏尾。近来,我越来越怀疑 Debian 现行的决策机制(特别是技术委员会)是否真的合适。 敲下这几句话的几年后,Russ Allbery 再次成为了 Debian 技术委员会的成员。这次,他没有坐以待毙,而是提出了一份根本性的改革草案。详情请戳:《Debian 向左:或将迎来根本性改革》...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

Kubernetes源码探疑:Pod IP泄露排查及解决方法

,kubelet通过给容器打不同的label来识别之。CRI是一个统一的容器操作gRPC接,kubelet对容器的操作,都要通过CRI请求来完成,而Docker,Rkt等容器项目则负责实现各自的CRI实现,Docker的实现即为dockershim,dockershim负责将收到的CRI请求提取出来,翻译成Docker API发给Docker Daemon。 relist通过CRI请求更新到Pod中Sandbox容器和非Sandbox容器最新状态,然后将状态信息写入kubelet的缓存podCache中,如果有容器状态发生变化,则通过pleg channel通知到syncLoop循环。对于单个pod,podCache分配了两个数组,分别用于保存Sandbox容器和非Sandbox容器的最新状态...阅读全文

DPDK Graph Pipeline 框架简介与实现原理

DPDK 全称为 Data Plane Development Kit ,是近年来在高速网络通信行业中炙手可热的一种网络报文处理加速框架。DPDK 从十年前诞生直至发展到今天已经可以支持业界主流的高网卡以及各类加速硬件设备,同时也支持主流的各个CPU 体系结构(可以运行于 X86, Arm, Power 等平台)。同时也可以运行于 Linux/FreeBsd/Windows 等主流操作系统之上。DPDK因为其优异的性能指标被广泛的应用于网关/负载均衡/SDN/虚拟交换的各个场景。 本文主要介绍 DPDK 中的 libgraph 设计思想以及实现,libgraph 的设计思想源自于开源项目 Vector Packet Processor(VPP)。VPP 中的向量包处理优化方案是...阅读全文

博文 2023-02-09 07:13:55 掘金

Git 介绍与使用详解

将develop中的代码合并到maser,保证master稳定 5.打标签(tag) 通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照 git tag v1.0.0 //创建轻量标签v1.0.0 git tag -a v1.0.0 -m ’my version 1.0.0‘ //创建附注标签 git tag //列出标签 git push --tags //推到远 git tag -d 1.0.0 //删除本地tag 注意:tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支: git...阅读全文

博文 2017-02-25 09:00:27 程序员

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

.tcp_congestion_control=bbr" >> /etc/sysctl.conf 应用更改1sysctl -p 验证是否开启1lsmod | grep bbr 返回信息如下,表示已经开启1tcp_bbr 20480 15 安装一些常用工具(可选)1apt install -y htop speedtest-cli vim 安装 Proxmox VE参考官方 wiki:https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Stretch 直接从 【 Install Proxmox VE Install 】 这部分开始 复制以下到终执行12345echo "deb http://download.proxmox.com/debian/pve stretch...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

Sam Altman的成功学|OneFlow

讶于发生在自己身上的意外之喜,仅仅因为我十年前曾帮助过一位企业创始人。 建立人际网络的另一个途径是拥有好的名声,不亏待每一个一起共事的人。要大方慷慨地与他人分享资源,这会给你带来10倍、100倍的回报。此外,要知人善用,让每个人都能充分施展自己的才华(这是我从管理学中学到的最重要的一课,虽然我对管理学的研究还并不多)。我们既要尽力挖掘他人的潜力但是又不能逼得太紧,这容易让人感到精疲力尽。 每个人都有各自擅长的领域。因此,我们要多看看自己的优点,不要总盯着缺点,要用优点来定义自身。面对缺点,我们要承认它,想办法弥补它,不要让缺点成为我们前进路上的阻碍。我常能在一些创业者中听到这样的说法“我不能做A,因为我不擅长B”,这种思维方式让我十分吃惊,这反映出他们缺乏创造力。弥补弱点的最佳方式是聘请互...阅读全文