InfraPub 为您找到相关结果 56

即将发布的 JDK 10 有 109 项新特性,你喜欢哪些

按计划,JDK 10 将于 3 月 20 日正式发布。据前 Oracle 员工 Simon Ritter 的统计,JDK 10 总共包含 109 项新特性。当然,在最终发布前,可能还会发生变化。 新特性中最重要的,是我们之前曾报道过的 12 个 JEP : JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。 JEP 304: 垃圾器接口。通过引入一个干净的垃圾器(GC)接口,改善不同垃圾器的源码隔离性。 JEP 307: 向 G1 引入并行 Full GC。 JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓...阅读全文

博文 2018-03-08 12:56:20 debian.cn

Java 10 正式发布:包含 109 项新特性

期待已久的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版。为了更快地迭代,以及跟进社区反馈,Java 的版本发布周期变更为每六个月一次,并且承诺不会跳票。新的发布周期也会严格遵循时间点,将在每年的 3 月份和 9 月份发布。 Java 10 是采用新发布周期的第一个版本,提供了 109 项新特性,其中最备受关注的莫过于局部变量的类型推断。 相关链接: JDK 10 安装指南 JDK 10 发布说明 Readme Java 10 的 12 项关键新特性: JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中 JEP 304: 垃圾器接口。通过引入一...阅读全文

博文 2018-03-21 08:35:10 debian.cn

隐私声明

我们重视保护用户的隐私权,请您在浏览本网站以及使用本网站的特定服务前,仔细阅读本隐私权声明。使用本网站,即视为您同意本隐私权声明并同意本网站根据本隐私权声明、使用、披露您的部分信息。 本隐私权声明主要包括如下内容:当您浏览本网站时,我们向您哪些信息;我们如何使用这些信息;我们会在何种情况下披露这些信息;以及您的选择。 本隐私权声明适用于本网站的关于您的个人信息。请注意本网站可能包含连接到其他网站的链接,我们对这些其他网站的隐私权做法不承担任何责任。我们建议您仔细阅读您所浏览的其他网站的隐私权声明。 1. 信息的 您向我们提供的信息。 如果您仅仅浏览本网站的一般性内容,我们并不要求您提供任何个人信息。在您需要使用或浏览我们提供的特定服务或信息时(比如参...阅读全文

Go 泛型草案更新,明年8月Go 1.17引入

Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此编写了一个类型检查器——可按照设计草案中的说明,解析使用泛型的 Go 代码并报告任何类型的错误。为了社区的反馈,他们还编写了示例代码并在草案中提供。 根据的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼容 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

) 也已进行更新,它将会放松语法 (syntax) 的规则来允许任何类型表达式作为接收方,这与编译器已经实现的特性相匹配。例如 struct{io.Reader}.Read,如果编译器已经接受并且现在被语言语法所允许,它是一个有效的表达式。 运行时 TODO:不从 Go 没有创建的锁定线程或线程中启动新线程。LockOSThread/UnlockOSThread 现在是嵌套的。LockOSThread + return 可杀掉线程。 堆栈跟踪不再包含隐式封装函数(以前被标记为 ),除非封装本身出现错误。 GOMAXPROCS 设置不再有限制(在 Go 1.9 中,限制是 1024) 性能 性能方面的改变较多。由于垃圾器的加速,将会生成更好的代码以及核心库中的优化...阅读全文

博文 2017-11-18 13:59:12 debian.cn

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

3300 万 Authy 用户手机号泄漏

站里每次讨论 2FA 的相关话题,总会有很多朋友说他自己在用 Authy 。它通过手机号注册,而且可以多终端同步。因为看到站里有多例微软验证器丢失验证信息的案例,我曾经也考虑使用 Authy 作为第二个篮子,但因为拖延症一直没有行动。没想到 Authy 出个这么个事故。 原因是有一个没有鉴权的 API 接口,攻击者通过这个接口批量验证手机号是否用于注册 Authy 。攻击者最终了 33M 个注册了 Authy 的手机号。 ![3300 万 Authy 用户手机号泄漏](https://www.bleepstatic.com/images/news/security/attacks/a/authy/unsecured-api/shinyhunters-twilio.jpg...阅读全文

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

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响设计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员组成的委员会定期审查、分类和决定社区提交的提案。这个流程十分有效,但作为该过程的一部分,他们忽略了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

Linux Mint 19 “Tara”于5月上线:承诺不涉及隐私数据

Linux Mint 19 “Tara”系统后续会有三个维护更新,分别为 Linux Mint 19.1/19.2/19.3 ,而 Cinnamon, MATE 和 Xfce 桌面环境版本同样会有三个更新。 其他方面,LMDE 3 只搭载 Cinnamon 3.8 桌面环境上线,支持 32/64 位系统。除了一些基础功能之外,团队正在为 Linux Mint 19 “Tara”主目录进行加密,但是 LMDE 3 不支持全盘或者主目录加密。 另个有趣的地方在于, Linux Mint 19 “Tara”明确表示不会/发送你的隐私或者系统数据,并且确认不会搭载 Canonical 部署在 Ubuntu 18.04 LTS 中的“ubuntu-report”,该服务可允许选择发送的数据类型。...阅读全文

博文 2018-05-02 09:31:53 debian.cn

谷歌是如何培养经理人的

时,不应该告诉他们所有事情,先让他们实践一下,然后再慢慢增加内容。在一开始需要教会他们的事情:如何提供反馈以及如何成为一个好的导师;建立起学习和发展情商的文化氛围——了解自己和团队,要管理好别人首先要管好自己。 培训并不是培养经理人唯一的手段。他们可以从其他经理人那里学习。应该鼓励他们互相交流和学习。另外,反馈是一种有效的评估手段。 把对经理人的反馈告诉他们。Calderon说,谷歌每年都会向员工反馈,让他们填写有关上司表现的问卷调查。这些信息会被反馈给经理人,帮助他们评价自己,并从中得到成长。先明确优秀经理人的定义,然后再引导他们朝这个目标努力。谷歌关于优秀经理人的特点清单可以在这个指南中找到。 除了经理人应该具备的行为特征,Calderon还提到:经理人应该要融入团队,不要只做微...阅读全文

博文 2017-12-24 07:31:00 debian.cn

Debian 如何修改默认网卡为 eth0

Debian 系统安装以后,可能会遇到网卡设备名不是常见的 eth0 的情况。我们有没有办法统一网卡设备名称呢? 在服务器环境中,统一网卡设备名是很有必要的。标准化的配置会节省我们大量的时间,这些时间可能会花在排障、监控的配置、状态脚本的调整等。 这里我们介绍如何把 Debian 系统中的网卡从非 eth0,调整为 eth0,这个设备名是各 Linux 系统中比较通用的网卡设备名。下面我们以设备名 ens3 为例,介绍在Debian 系统中,如何修改网卡设备名为 eth0 的具体步骤。 首选,我们需要编辑 grub 的配置文件,修改启动参数。使用编辑器打开 /etc/default/grub, 查找: GRUB_CMDLINE_LINUX="" 找到这行,并修改为...阅读全文

博文 2019-07-12 13:59:08 debian.cn

容器镜像仓库 Harbor 发布 2.0 版

以删除图像标签,而无需删除基础清单和所有其他关联的图像标签。您还可以查看未加标签的图像,并可以选择将其排除在垃圾之外。” 此版本的一些主要功能包括有: 启用 Trivy 作为默认漏洞扫描程序Harbor 组件之间的 TLS 可实现更安全的组件内流量能够为核心 Harbor 服务配置 SSLWebhook 增强功能,例如与 Slack 的交互和多端点支持增强型机器人帐户改进的错误处理框架能够在 UI 中查看未标记的图像能够选择性地从图像中删除标签,而无需删除图像摘要或相关标签。 更多详细信息请查看 Harbor 2.0.0 的 Changelog。...阅读全文

博文 2020-05-14 12:58:04 debian.cn

Rust 1.37.0 稳定版发布

-Guided Optimization) rustc 编译器现在通过 -C profile-generate 和 -C profile-use 标志提供了对配置文件引导优化(PGO)的支持。 Profile-Guided Optimization 允许编译器根据来自实际工作负载的反馈优化代码。它的工作方式是编译程序,在两个步骤中进行优化: 首先,程序是用编译器插入的工具构建的。这是通过将 -C profile-generate 标志传递给 rustc 来完成的。然后,需要在示例数据上运行检测程序,并将分析数据写入文件之后,重新构建程序,这一次使用 -C profile-use 标志将到的分析数据反馈回 rustc。此构建将利用到的数据,使编译器能够对代码放置、内联和其他优化做出更好的决定 在...阅读全文

博文 2019-08-17 21:17:23 debian.cn

Go 1.8 正式发布 标准库有显著变化和性能提升

今天Go 团队很高兴地宣布Go 1.8发布了。现已提供下载。整个标准库有了显著的性能提升和变化。该版本主要的更新内容如下: Go 1.7中为64位x86引入的编译器后端现在用于所有体系结构,这些体系结构将会有显著的性能改进。例如,我们的基准程序所需的CPU时间在32位ARM系统上减少了20-30%。在此版本中,64位x86系统还有一些性能改进,编译器和链接器更快了,编译时间应该比Go 1.7提高约15%。但是在这一领域还有很长的路要走:我们希望在未来版本中实现更快的编译速度。 垃圾暂停时间明显更短,通常在100微秒以下,有时候甚至低至10微秒。 HTTP服务器添加对 HTTP/2 Push的支持,允许服务器抢先发送响应到客户端。这对于通过消除往返行程来最小化网络延迟非常有用。HTTP服...阅读全文

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

Firefox 59 将启用对分布式网络架构协议的支持

外,这些扩展可以自由地提供各自的实现方式。 由博客文章可知,Mozilla 坚信这会是“一个健康的互联网的关键组成部分”。 2017 年 6 月的时候,作为 200 万美元的分布式互联网奖金的一部分,Mozilla 开发了一票面向网络访问不可靠社区的无线解决方案。 作为 Mozilla 推动创新的最新举措,这家非盈利组织最近还捐赠了 27.5 万美元,用于支持教育技术项目。 Dat Project、IPFS、Secure Scuttlebutt 旨在通过支持对等网络的文件传输和 Web 浏览功能,以改善互联网基础设施,而这当前是基于“客户端-服务器”的 Web 所提供的功能。这些协议与现有模型的区别,主要体现在改进了隐私和安全性,以及对网络中立性的支持。 除了这些特性,即将推出的...阅读全文

博文 2018-01-31 10:35:07 debian.cn

AWS 宣布赞助 Rust 语言

他们赞助该项目的原因: 性能。Rust 非常快且内存效率高:没有运行时或垃圾器,它可以为关键性能服务提供支持,可以在嵌入式设备上运行,并且可以轻松地与其他语言集成。可靠性。Rust 的丰富类型系统和所有权模型保证了内存安全性和线程安全性,并能使开发者在编译时消除许多类的错误。生产率。Rust 拥有出色的文档,友好的编译器以及有用的错误消息以及一流的工具——集成的软件包管理器和构建工具,具有自动完成和类型检查的智能多编辑器支持,自动格式化程序等。 接着,AWS 还列举了几个优秀的 Rust 库,并称赞了它的包容性社区,最后表示“Rust 连续四年被评为 Stack Overflow 的最受欢迎语言不足为奇”。 对于 Rust 来说,它可以使用 AWS 服务来执行以下操作: 在 S3 上存储...阅读全文

博文 2019-10-17 22:42:27 debian.cn

Jonathan Carter 当选新一任 Debian 项目负责人

Debian 的 1011 位开发人员中,有 339 位在今年的选举中投了赞成票,参与人数与往年差不多,且相比几年前票数还略有提高。 具体的投票过程与结果分析查看:https://www.debian.org/vote/2020/vote_001 新当选的 Jonathan Carter 在竞选“宣言”中写下了几个大目标: 继续做 Debian 做得好的事情。技术卓越、推广自由软件、分发新版本、稳定的版本更新。使 Debian 对贡献者有吸引力。使它成为一个有趣、有意义和受欢迎的项目,让更多贡献者有意愿参与进来。更好地了解正在完成的工作。减少影响贡献者的瓶颈。有关阻碍个人在 Debian 中所做的事情的反馈,并找到减少这种摩擦的方法。改善在线协作。改善项目内务管理。关于支出和可用资金,具有更好的可...阅读全文

博文 2020-04-22 13:50:05 debian.cn

Google 开源漏洞扫描系统 Tsunami

系统时执行两步过程: 第一步是侦查,在此期间,Tsunami 会扫描公司网络中的开放端口。此后,它会测试每个端口并尝试识别在它们上运行的协议和服务,以防止因错误标记端口和测试设备的漏洞所造成的假漏洞。 第二步是漏洞验证,在这里 Tsunami 使用通过侦察的信息来确认是否存在漏洞。为此,漏洞扫描程序会尝试完整地良性执行这个漏洞。漏洞验证模块还允许通过插件来扩展Tsunami。 在初始版本中,Tsunami 随附了用于以下安全问题的检测器: Exposed sensitive UIs:Jenkins,Jupyter和Hadoop Yarn之类的应用程序附带了UI,这些UI允许用户调度工作负载或执行系统命令。如果这些系统未经身份验证就暴露在Internet上,则攻击者可以利用应用程序的功能来...阅读全文

博文 2020-07-16 10:25:50 debian.cn

架构师详解 Nginx 架构

立即得到结果,就去处理其他的请求(即为非阻塞);而客户端在此期间也无需等待响应,可以去处理其他事情(即为异步);当 IO 返回时,就会通知此工作进程;该进程得到通知,暂时挂起当前处理的事务去响应客户端请求。 三. Nginx 事件驱动模型 在 Nginx 的异步非阻塞机制中,工作进程在调用 IO 后,就去处理其他的请求,当 IO 调用返回后,会通知该工作进程。对于这样的系统调用,主要使用 Nginx 服务器的事件驱动模型来实现。 如上图所示,Nginx 的事件驱动模型由事件器、事件发送器和事件处理器三部分基本单元组成。其中,事件器负责 worker 进程的各种 IO 请求,事件发送器负责将 IO 事件发送到事件处理器,而事件处理器负责各种事件的响应工作。 事件发送器将每个请求放入...阅读全文

博文 2018-05-01 23:10:47 debian.cn

打破IP协议重塑互联网 华为能做到吗

的 IP 报头允许终端用户指定要在数据包上执行的自定义功能。 文章以智能家居为例,描述了新 IP 网络下的应用场景: 运动传感器检测出房间出现异常活动时,会通知相应房间的安全摄像头通过智能家居网络采集信息,然后,安全摄像头将到的图像信息通过互联网发送到主人的智能手机上进行判断。如果只是误报,主人可以向安全摄像头发送信息要求停止信息。由于房子里的所有设备都连接在同一个家庭网络上,所以运动传感器可以直接将通知发送到安全摄像头,并带有它的域内地址;并且由于新的 IP 协议向源地址中添加了一个地址段(4.3.2.1),摄像头数据能够直接传送至用户的智能手机中。 不难看出,在该场景中,新 IP与传统 IP 相比有两方面优势:一是智能家居网络采用短地址空间进行批量通信,减少了分组开销,提高了通信...阅读全文

博文 2020-03-31 06:40:15 debian.cn

项目总结报告应该怎么写

。总结报告的形成明确写报告需要的思维和目的后,我们如何形成报告呢?报告形成步骤如下。​1.明确项目分析维度项目分析的维度不同,后期确定的指标也会不同。一般以项目总结的目的为基准方向,确定分析维度。分析维度可以从产品立项到发布每个阶段作为分析维度,也可以按照项目中的角色为维度进行分析。以输入法的项目总结为例,按照产品、开发、测试的测试角色为横向维度进行分析,然后纵向深入分析每个维度的数据。​2.项目指标抽取我们在进行指标抽取时,会先根据项目分析维度形成一个指标集,如下图。​指标的选取方式有两种:根据问题选取指标和固定通用指标。根据问题选指标是先项目中明确感知到的问题,对问题进行归类(归类分组思想),然后选取可以反映此问题的指标进行数据分析,一个问题可能对应多个指标。以输入法为例,当前版本出现...阅读全文

阿里巴巴版 JDK 首发 GA 版 生产环境可用

“退优化”已编译的方法,重新开始编译,反而恶化了状况。由此可见,如何准备预热数据其实是一个挺复杂的问题,在实际运维中还没有很好的解决方法。 Dragonwell 提出的 JWarmUp 技术从 JVM 层面解决这一痛点,基本原理是利用之前运行的情况找到热点方法和 java class 信息。之后,JVM 运行实例利用上次的信息来预热,不需要通过人为数据预热。热点的实例可以有多种选择,例如在应用集群中选择一个节点,也可以在发布过程中选择一个 beta 发布阶段来。相比之前“人为数据”的方式,主要有如下优势: 热点时可以利用真实数据,达到更好的编译效果。加速预热过程。由于热点方法可以在加载后直接编译,节省解释执行,profiling 等过程。 该功能在 specjvm 的基准测试中对于...阅读全文

博文 2019-07-11 10:24:52 debian.cn

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

,另有两个变种1.CLFS Sysroot 采用Sysroot的方法来进行编译,好处是软件包的编译次数可以减少,坏处是不能支持在编译后对软件进行测试,必须要启动到目标平台上才能测试。 2.CLFS Embedded 一般用于极小系统以及嵌入式系统。为此,它使用uclibc而不是一般LFS使用的glibc。 Automated Linux From Scratch(ALFS) 标准LFS只是一本书,用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动化的脚本。 Hardened Linux From Scratch(HLFS) 这个子项目致力于打造在安全性上无懈可击的Linux系统。 Hints 一些解释性、增强性的文档,以协助用户 LiveCD 利用...阅读全文

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

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Workspaces) 越来越多的科技公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。 因此,Yarn 增加了一个新特性 ——工作区。工作区可以自动从多个 package.json 中所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作区之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。 自动合并 yarn.lock 文件 (Auto-merging of lockfiles) 多个开发者在开发同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现冲突。如果只有一两个...阅读全文

博文 2017-09-19 14:43:15 debian.cn

Elastic search 6.0.0 正式发布 大量新特性

性就是序列 ID,它允许基于操作的分片恢复。 以前,如果由于网络问题或节点重启而从集群断开连接的节点,则节点上的每个分区都必须通过将分段文件与主分片进行比较并复制任何不同的分段来重新同步。 这可能是一个漫长而昂贵的过程,甚至使节点的滚动重新启动非常缓慢。 使用序列 ID,每个分片将只能重放该分片中缺少的操作,使恢复过程更加高效。 使用排序索引更快查询 通过索引排序,只要到足够的命中,搜索就可以终止。它对通常用作过滤器的低基数字段(例如 age, gender, is_published)进行排序时可以更高效的搜索,因为所有潜在的匹配文档都被分组在一起。 稀疏区域改进 以前,每个列中的每个字段都预留了一个存储空间。如果只有少数文档出现很多字段,则可能会导致磁盘空间的巨大浪费。现在,你付出你...阅读全文

博文 2017-11-15 18:11:10 debian.cn

高性能日志采集工具 logpipe 简单介绍

日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多输出流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难度并不高,就自研了 logpipe。 logpipe 是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多输出按需配置组件用于流式日志架构,无第三方依赖。 logpipe 的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入 HDFS。异步意味着不影响应用输出日志的性能,实时意味着一有日志立即采集,很多日志采集工具如 flume-ng、logstash 介绍文档通篇不提采集方式是否实时还是周期...阅读全文

Django 面临困境 欲重组核心团队

也将对 django-developers 列表的成员开放。 James Bennett 表示,删除拥有超高权利的“提交者”角色,以“贡献者”和“合并者”取而代之,将有助于让项目对一般人更加开放,并让提交流程更制度化。虽然这个方法不能立马解决贡献者不足的问题,但却是能更好的解决这个问题的途径。技术委员会权利的提高,可能并非最佳解决方案,但却是在必要时打破僵局、避免混乱的手段。技术委员会上面还有中立的管理者 DFS(Django 软件基金会)。 据悉,该提案细节仍在不断完善中,James Bennett 仍在反馈并根据反馈对提案进行调整,预计在下个月会以合理的形式进行投票表决。James Bennett 最后表示,希望在 2019 年年中,Django 能以新提案的模式运作,并有效解决现有...阅读全文

博文 2018-11-23 10:24:21 debian.cn

Python 社区有了新治理模式

投票,也就是弹劾机制,可将任期内的当权者赶下台;它严格限定了在委员会里,只允许少于 50% 的成员是企业(5 人委员会里最多有 2 个);并且关注到核心开发者的选举/淘汰、如何更新治理提案等问题。 而且,PEP 8016 中也提出了新的 PEP 流程,目前的 PEP 流程是提案人确定 PEP 的选题方向,提案人负责与整合来自整个社区的反馈。然后,相关领域的专家们汇总全部讨论,并开启为期 14 天的审查,之后进行社区投票。如果一个 PEP 很有争议,任何专家成员都可发起动议来拒绝通过它,这需要超过 2/3 的票数。PEP 8016 的 PEP 流程:理事会在必要时可直接地批准/否决 PEP,但最好是设置流程来避免这样做决策,例如,将决策权委派给团队或者 BDFL 代表。 7 种治理方案一览...阅读全文

Docker 17.06 社区版发布

的支持。可以将docker的/metrics端点暴露给插件: $ docker plugin install --grant-all-permissions cpuguy83/docker-metrics-plugin-test:latest $ curl http://127.0.0.1:19393/metrics 这个插件仅用于示范。它在主机的网络上运行了一个反向代理,能将请求转发给插件中的本地的指标套接字。在真实场景中,可能会将的指标数据发送给外部的服务,或者使它可以被一个服务如Prometheus访问并。 注意尽管指标插件在非实验性的daemon中可以使用,指标标签(metrics label)仍应该被看作是实验性的,可能在Docker未来的版本中发生改动。 日志驱动插件 添...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

博文 2023-01-10 13:46:09 掘金

journalctl 清理journal日志 - 九重霄

位置。 "none" 表示不保存任何日志(直接丢弃所有到的日志), 但日志转发(见下文)不受影响。 默认值是 "auto" Compress= 默认值"yes"表示: 压缩存储大于特定阈值的对象。 Seal= 默认值"yes"表示:如果存在一个"sealing key"(由 journalctl(1) 的 --setup-keys 命令创建), 那么就为所有持久保存的日志文件启用 FSS(Seekable Sequential Key Generators)保护, 以避免日志文件被恶意或无意的修改。 SplitMode= 设置是否按照每个用户分割日志文件,以实现对日志的访问控制(日志守护进程会确保每个用户都能读取自己的日志文件)。 可以使用的分割策略如下: "uid" 表示每个用户都有自...阅读全文

博文 2021-02-05 15:43:28 博客园

细数k8s支持的4种类型的container - 侃豺小哥

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的组件 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模式,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信号作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方式来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统计信息),但每个监控系统都希望其的监控数据具有一致且统...阅读全文

博文 2021-08-20 11:45:32 博客园

最全的 DevOps 工具集合

、Helm、Ruby、Python 和 Docker。 JFrog 提供了高可用性、复制、灾难恢复和可伸缩特性,并兼容许多本地和云存储产品。 Sonatype Nexus Sonatype Nexus 是一款存储库管理器。你可以用它代理、和管理依赖项,这样就用不着和一大堆 JAR 打交道了。它简化了软件分发的工作。 你可以配置自己的内部构建,然后发布到 Nexus 上供其他开发者使用。 NuGet NuGet 是.NET 的软件包管理器。NuGet 客户端工具提供了生成和使用软件包的功能。 NuGet Gallery 是为所有包作者和使用者提供的软件包中心存储库。 测试工具 测试阶段主要是检测内部质量,建立对已部署构件的信心。目前业内常用的测试工具包括 JUnit、xUnit.net...阅读全文

博文 2021-05-26 14:35:21 博客园

Facebook 是如何进行大规模代码部署的

过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文

博文 2017-10-31 14:05:20 debian.cn

三个简单而优秀的 Linux 网络监视器

PROGRAM DEV SENT RECEIVED 7690 carla /usr/lib/firefox wlan0 12.494 556.580 KB/sec 5648 carla .../chromium-browser wlan0 0.052 0.038 KB/sec TOTAL 12.546 556.618 KB/sec Nethogs 选项很少:在 kb/s、kb、b 和 mb 之间循环;通过接收或发送的数据包进行排序;并调整刷新之间的延迟。请参阅 man nethogs,或者运行 nethogs -h。 vnstat vnstat 是最容易使用的网络数据器。它是轻量级的,不需要 root 权限。它作为守护进程运行,并记录你网络统计信息。它默认显示所有的网络接口。使用 -i 选项选择单个...阅读全文

博文 2017-11-07 00:07:38 debian.cn

JDK 11 版本时间表公布

在 JDK 10 发布两天之后,Oracle Java 平台组首席架构师 Mark Reinhold 提出了 JDK 11 GA 发布的时间表: 6 月 28 日:第一阶段开发(从主分支 fork) 7 月 19 日:运行所有测试 7 月 26 日:第二阶段开发 8 月 16 日:初始候选版本 8 月 30 日:最终候选版本 9 月 25 日:正式版 到目前为止,包含在 JDK 11 中的 JEP 有: JEP-309:动态类文件常量 JEP-318:Epsilon:一款低开销的垃圾器 JEP-320:移除 Java EE 和 CORBA 模块 JEP-323:Lambda 参数的局部变量语法 JDK 11 的 早期体验版本 在 JDK 10 发布前的一个月就有了。Reinhold 之...阅读全文

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

Redis 6.0.0 GA已正式发布

Redis 6 是有史以来改变最大的 Redis版本,因此即使稳定,也要小心处理,并在投入生产之前对其进行测试,以进行工作量测试。到目前为止,我们从未发现重大问题,但请务必小心。在错误报告时,我们将准备尽快发布Redis 6.0.1。 变化如下:除了稳定性之外,RC1和今天之间还有什么变化? 1. 在某些方面对客户端缓存进行了重新设计,尤其是放弃了缓存插槽方法,而只使用键名。在分析了替代方案之后,在其他Redis核心团队成员的帮助下,这种方法最终看起来更好。除此之外,尤其是“广播模式”,我相信它将成为该功能最流行的使用模式之一。 使用广播时,服务器不再尝试记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每当与该前缀匹配的密钥被修改时,它们就会收到通知。这意味着可广播更多消息(但仅适...阅读全文

博文 2020-05-01 09:15:09 debian.cn

Golang 应用集成 Prometheus 统计数据支持

间,响应大小。主要做统计用,设置分位数的值,会实时返回该分位数上的值。 Golang中集成 Prometheus 程序库 提供了一个用 Golang 写成的健壮的插桩库,可以用来注册,和暴露服务的指标。在讲述如何在应用程序中暴露指标前,让我们先来探究一下 Prometheus 库提供的各种指标类型。 下载 Prometheus go 客户端 go get github.com/prometheus/client_golang/prometheus/promhttp. Golang应用中集成 Prometheus HTTP 服务器 package main import ( "net/http" "github.com/prometheus/client_golang/prometheus...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

(简称GA) 我们兴奋地向大家宣布,apps/v1 Workloads API[1]通用版本现在已经默认启用。Apps Workloads API负责将DaemonSet、Deployment、ReplicaSet以及StatefulSet API等整合起来,从而构建起在Kubernetes内长期运行无状态与有状态工作负载的根本性基础。需要强调的是,Batch Workloads API(Job与CronJob)并不在Apps Workloads API的整合范畴之内,未来前者将推出自己的独立通用稳定版。 Deployment与ReplicaSet属于Kubernetes当中使用频率最高的两个对象,根据一年多以来到的实际使用与反馈意见,二者的稳定性已经得到极大提高。SIG Apps[2]也...阅读全文

博文 2017-12-17 01:00:00 debian.cn

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

和围绕着它的级联结构。”Bell 说,“全世界约有 12 个大型一级数据中心,然后是 150 所小型大学和实验室。他们从大型强子对撞机的数据中样本,以帮助物理学家理解和分析数据。”这种结构意味着 CERN 正在进行国际合作,数百个国家正致力于分析这些数据。归结为一个基本原则,即开源不仅仅是共享代码,还包括人们之间的协作、知识共享,以实现个人、组织或公司无法单独实现的目标。这就是开源世界的希格斯玻色子。...阅读全文

博文 2021-11-29 13:20:55 腾讯云

Kubernetes 1.7:安全加固、有状态应用更新等

谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文

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

开源社区的运作模式:Debian Vs. Ubuntu

定自己的策略,在遵循开发者成员委员会规定的基本原则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一起工作过的现有成员那里证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

Debian Live 项目的剧变

Williams 却坚持认为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里面」),但是完成这件事还需要很大的努力。 我向已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在进行以反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文

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

聊聊很重要的内核技术eBPF

。它使用其他输入流(例如容器运行时度量标准和Kubernetes度量标准)丰富了的数据,并允许连续监视和检测容器,应用程序,主机和网络活动。 5:Katran Katran是一个C ++库和eBPF程序,用于构建高性能的第4层负载平衡转发平面。 Katran利用Linux内核中的XDP基础结构来提供用于快速数据包处理的内核功能。它的性能与NIC接收队列的数量成线性比例,并且使用RSS友好的封装转发到L7负载平衡器。 6:Sysdig Sysdig是提供深层系统可见性的简单工具,并具有对容器的原生支持。 其他基于eBPF技术的项目还有很多,比如kubectl-trace ,ply 等,这里不再赘述。 如何编写一个eBPF程序? 在很多情况下,不是直接使用eBPF,而是通过Cilium,bcc...阅读全文

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

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

火墙等),OSSEC作为强大的日志分析引擎是一个不错的选择。​后来的发行版增加了用于基于debian的系统的身份验证日志文件,以及用于分析(3.6.0)的非标准Sophos UTM时间戳,用于缩进日志的多行日志(3.5.0)以及对多行的其他升级。记录。2. Tripwire顾名思义,这是Tripwire开发的基于主机的免费开放源代码检测系统。该公司也提供商业解决方案,但我们将专注于开源HIDS。开源的Tripwire软件包仅在几乎所有Linux发行版上运行。它以确保数据完整性的强大功能而闻名,它可以帮助系统管理员检测对系统文件的更改,并在文件损坏或被篡改时通知他们。要将其安装在Linux主机上,只需使用apt-get或yum实用程序。在安装过程中,系统将要求您添加必需的密码。最好选择一个...阅读全文

Debian 9.3上安装和配置 Observium 监控平台

Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备数据并使用Web界面监视它们。 Observium支持大量的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。 Observium提供了一个功能强大,简单易用的界面来监视网络的健康和状态。 在本教程中,我们将解释如何在Debian 9服务器上安装和配置Observium。配置需求: 一个新的Debian 9服务器安装在您的系统上。 在您的服务器上设置一个根密码。 入门 首先运行以下命令,将系统更新到最新的稳定版本: apt-get update -y apt-get upgrade -y 系统更新后,重新启动系统以...阅读全文

博文 2017-12-30 11:35:21 debian.cn

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

,Trace 被认为是 Span 的有向无环图(DAG)。官方也例举了以下 8 个 Span 的因果关系和他们组成的单 Trace示例图: 在当时, OpenTracing 相关的开源社区也是异常活跃,它使用 Jaeger 来解决数据的,调用链则使用了甘特图展示: 在 OpenTracing 生态中,我们对链路的采样使用头部采样策略, 对于指标 Metrics,OpenTracing 并没有制定它的规范,但在 Google SRE Book 里,关于 Monitoring Distributed System 章节中提到了四类黄金指标: 吞吐量:如每秒请求数,通常的实现方式是,设定一个计数器,每完成一次请求将自增。通过计算时间窗口内的变化率来计算出每秒的吞吐量。 延迟:处理请求的耗时。 错误率/错...阅读全文

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

Gitlab CI 配置文件 .gitlab

。 默认情况下,job artifacts 只正对成功的jobs。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作间内的文件或目录路径。如果想要在不通的job之间传递artifacts,请查阅依赖关系。以下是一些例子: 发送binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 发送所有没有被Git跟踪的文件: artifacts: untracked: true 发送没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个空的dependencies可以禁用artifact传递: job...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

kubelet 中垃圾回收机制的设计与实现

) evictSandboxes(evictTerminatedPods bool) error { // 1、获取 node 上所有的 container containers, err := cgc.manager.getKubeletContainers(true) if err != nil { return err } // 2、获取 node 上所有的 sandboxes sandboxes, err := cgc.manager.getKubeletSandboxes(true) if err != nil { return err } // 3、所有 container 的 PodSandboxId sandboxIDs := sets.NewString() for _, container...阅读全文

博文 2021-02-05 17:48:22 知乎

Cortex: 高可用和水平扩展Prometheus监控系统

Prometheus已成为cloud-native世界中的默认监控应用程序和系统。对于真是使用案例,Prometheus应该是高可用的,这是有挑战的。一旦在高可用性模式下运行Prometheus,就会遇到很多问题,例如数据重复,为重复数据实现single pane等。为了解决此问题,Cortex诞生了。Cortex是一个CNCF sandbox project,旨在为使用Prometheus 的指标提供长期存储和全局指标视图。首先让我们看一下Cortex的主要目标,然后看一下它为Prometheus解决的一些问题。水平可伸缩性– Cortex可以分成多个微服务,每个微服务都可以独立地水平伸缩。例如,如果许多Prometheus实例正在向Cortex发送数据,则可以扩展Ingester微...阅读全文

博文 2021-10-09 17:00:22 知乎