InfraPub 为您找到相关结果 373

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

即将发布的 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

常见开发/测试/生产环境的缩写 DEV、SIT、UAT、PET、SIM、PRD

常用开发环境、生产环境简写的含义及用途 DEV、SIT、UAT、PET、SIM、STG、PRD 缩写介绍 按开发、测试、上线的时间线排序: - DEV Development 研发环境 - SIT System Integrate Test 系统成测试环境(内测) - UAT User Acceptance Test 用户验测试环境 - PET Performance Evaluation Test 性能评估测试环境(压测) - STG Staging 更接近生产的功能验、测试环境 - SIM Simulation 高仿真环境 - PRD Production 正式/生产环境...阅读全文

隐私声明

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

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

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

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

cloud, intelligent edge ” ,对 GitHub 的购将对此目标发挥重要作用。Friedman 表示,云是开发者的核心需求,微软将致力于不仅仅将自己的 Azure 云服务插入到 GitHub 中,还会成其他平台(如 AWS 和 Google 云平台)以帮助开发者。 5、进驻 GitHub Marketplace 针对 GitHub Marketplace ,微软有着许多的规划。Friedman 表示,微软计划利用该市场使开发者社区中的所有人都可以使用微软的所有开发工具和服务。 6、成 Visual Studio Code 最后,Friedman 表示,微软将直接将其开源的 Visual Studio Code 开发环境的功能整合到 GitHub 中,为开发者提供“更加无缝...阅读全文

博文 2018-06-06 11:08:17 debian.cn

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

MIPS开源了指令集 32位64位架构免费用

作为RISC精简指令的代表,MIPS处理器曾经比ARM还要火,比ARM更早支持64位,也是安卓系统支持的三大指令之一,只不过现在MIPS指令在移动、嵌入式领域影响比ARM小多了,这方面的原因也是多方面的。 MIPS在被辗转卖了几次之后,最终结局倒也不坏——MIPS走向开源了,上周末官方宣布开放了MIPS R6指令及相关工具,32位、64位MIPS都可以免费下载使用。 2012年Imagination Technologies斥资1亿美元购了MIPS公司,准备加强CPU业务,这样就能提供完整的CPU、GPU授权,不过Imagination Technologies在这方面并不算成功,在苹果放弃他们的PowerVR GPU授权之后,Imagination Technologies也把...阅读全文

博文 2019-04-01 12:47:55 debian.cn

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个群运行的更加稳定使得 k8s-scheduler 这个角色在群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Canonical 准备 IPO

Canonical 上个月宣布放弃继续投资桌面环境 Unity,终止智能手机和平板项目,将精力中到能带来入的云端服务,同时精简员工,原 CEO Jane Silber 辞职,其职位将由 Canonical 创始人 Mark Shuttleworth 接替 ,所有这一切动作都显示 Canonical 公司准备 IPO。现在,Shuttleworth 在 OpenStack 峰会上接受采访时 证实了这一猜测 。 他表示,公司的私有云服务增长了 70%,公有云服务增长了 90%。虽然 Canonical 不再继续开发 Unity,但 Shuttleworth 表示会支持社区开发者的努力。他表示 IPO 尚无时间表。...阅读全文

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

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 掘金

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

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

开源硬件是趋势,Arm 却走了一条与众不同的路

“开源”一词所代表的不仅仅是技术人员的情怀,它还传达了诸如研究知识共享和社区建设之类的观点。虽然开源一直都在产生积极的影响 —— 随着开源微处理器指令架构 RISC-V 的日益普及,推动软件创新的开源运动现在正在微处理器领域引起轰动,但半导体 IP 提供商 Arm(为 95% 的智能手机嵌入式处理器提供了支持) 并不是开源的狂热爱好者。 近日,外媒 Synced 与 Arm 嵌入式、物联网和汽车营销高级总监 Rhonda Dirvin 进行了一次对话,探讨开源硬件和开源软件之间的区别,以及由此对 Arm 进行决策带来的影响。 Dirvin 认为,当今的开源硬件格局并不像看起来那样简单明了:“我们开始看到有人说免费并非真正的免费。因为归根结底,他们必须考虑验所需的内容以及实现指令或架构所...阅读全文

博文 2019-10-17 22:39:43 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...阅读全文

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博客

NeuVector:业内首个开源容器安全平台

2022年1月18日,全球企业级开源解决方案领导者SUSE宣布:NeuVector代码库现已在GitHub上向开源社区开放。将之前的专有技术全部开源是对SUSE开源文化的传承,也践行了SUSE向合作伙伴和客户提供开放、互操作性和创新的解决方案的承诺。基于本次发布,NeuVector成为了业界首个端到端的开源容器安全平台,唯一为容器化工作负载提供企业级零信任安全的解决方案。 三个月前,SUSE完成了对NeuVector的购;此后,SUSE一直在考虑将这一云原生容器安全平台开源所涉及的技术和法律问题。NeuVector是业界领先的安全和合规解决方案,已被全球知名企业广泛采用;其代码库的开源不仅使NeuVector成为开源社区的首选技术,还为受严格监管的客户(包括政企、金融)提供了更可靠...阅读全文

架构师详解 Nginx 架构

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

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

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

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

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

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

** 90后创业者杨海坡创建微比特团,打造CoinEx ** 微比特团创始人杨海坡是一位90后创业者。2016年3月,杨海坡投入比特币矿池的开发,一人独立完成了 ViaBTC (Viabtc Technology Limited) 矿池全部代码,并在 两个月后成功上线,这个矿池是全球第一家挖出 BCH 区块的矿池。当前,ViaBTC 不仅是全球第一大 BCH 矿池,也是全球前五大的比特币矿池。 很快杨海坡发现,交易所也是为行业提供资产发行和价值发现的重要角色,是加密行业的核心,于是他决定加入到数字货币交易所的竞争中。 2017年12月,杨海坡成立了 [CoinEx](http://cet.im)。[CoinEx](http://cet.im) 成立不久就以势不可挡之力迅猛发展,2018...阅读全文

Proxmox VE 6.0 发布,基于 Debian 10.0 Buster

Proxmox VE 6.0 已经发布,Proxmox VE (Proxmox Virtual Environment) 是一个非常棒的成 OPENVZ 支持 KVM 应用的环境。 6.0 版本包括对用于虚拟环境的开源技术的最新版本的更新,如 5.0 Linux 内核 (基于 Ubuntu 19.04“Disco Dingo”)、QEMU 4.0.0、LXC 3.1.0、Ceph 14.2(Nautilus)、ZFS 0.8.1 和 Corosync 3.0.2。Proxmox VE 6.0 提供了一些新的特性和修复错误。 更新内容: Ceph Nautilus(14.2) 和改进的 CJoseph 仪表板管理:允许使用 Proxmox VE/Ceph-cluster 来设置和管理超敛...阅读全文

博文 2019-07-18 13:58:35 debian.cn

AWS 宣布赞助 Rust 语言

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

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

沃顿商学院联合世界经济论坛发布DeFi报告:DeFi具有改变全球金融的潜力

巴比特消息,美国宾夕法尼亚大学沃顿商学院近日联合世界经济论坛合作发布了一份标题为《超越炒作的DeFi:新兴的去中心化金融世界》的新报告。该报告指出,DeFi是一个快速发展的新领域。然而,它仍然不成熟,有许多未解决的经济,技术,运营和公共政策问题。尽管某些协议在短时间内吸引了巨大的资金和相关的网络效应,但DeFi领域仍然动荡不安。 DeFi有改变全球金融的潜力,但迄今为止的活动主要中在现有数字资产所有者社区中的投机,杠杆作用和产生益上。此外,使DeFi服务如此新颖的灵活性,可编程性和可组合性也暴露了新的风险,从黑客入侵到协议之间意外的反馈循环。 散户投资者,专业交易员,机构参与者,监管者和政策制定者需要在清楚了解DeFi所面临的挑战的同时,激发对DeFi创新潜力的热情。开发人...阅读全文

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

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

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

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

谷歌是如何培养经理人的

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

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

项目总结报告应该怎么写

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

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

,MongoDB企业群解决方案 5. 性能优化 JVM性能优化:剖析JVM整体结构,详解垃圾回机制GC,JVM性能调优与工具排查Nginx调优:Nginx项目架构,Nginx核心配置,Nginx负载算法配置Tomcat调优:Tomcat运行机制及框架,Tomcat线程模型,Tomcat性能调优MySQL性能优化:SQL执行计划,AQL优化,索引优化 6. 电商项目实战 项目的介绍,系统的架构设计,电商平台技术解决方 作为一名合格的架构师,必须懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优…了解各种技术及应用场景,有足够的工作经验解决成中遇到的各种奇葩问题。...阅读全文

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

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 知乎

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

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

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

2017 热门开源自动化测试框架优缺点对比

1. Robot Framework Robot Framework(RF)是用于验测试和验测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,但也可以在 Jython(Java)和 IronPython(.NET) 上运行,提供跨平台支持(Windows、Linux 或 MacOS )。 优点: 通过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员创建易读的测试。 测试数据语法简单易用。 生态系统丰富。由各种通用测试库和工具组成,这些工具都是作为独立项目开发的。 具有高度可扩展性。 可通过 pabot 或 Selenium Grid 执行并行测试。 缺点: 自定义 HTML 报告较为麻烦。 如果是针对大范围的库和扩展的 KDT 自动化测试,建议使用...阅读全文

博文 2017-11-15 08:52:47 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

Kong 发布 API 协作设计工具 Insomnia Designer

API 和服务生命周期管理平台 Kong 发布了 Insomnia 系列开发工具的一个重要扩展 —— Insomnia Designer。Insomnia Designer 提供一个编辑 GraphQL 和 REST API 的协作环境,让开发团队可以更方便地采用规范优先(spec-first)的方法用于软件设计。 Kong 于去年购了开源 REST 客户端提供商 Insomnia,两者秉承着一致的目标在 Insomnia 的基础上推出了 Insomnia Designer,旨在帮助开发者创建 REST 和 GraphQL API。Kong 认为,软件正逐渐朝着松耦合的微服务模式运行,API 也已成为一等公民(first-class citizens)。在这种新的模式下,开发者需要工具来...阅读全文

博文 2020-05-03 15:28:11 debian.cn

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

update && sudo apt install kubectl 上面几个命令的作用是添加了一个包含 Kubernetes 的 Debian 软件库,获取 GPG 密钥,然后更新软件包列表并安装 kubectl。如果 kubectl 有更新,我们将会通过标准软件更新机制到通知。 现在在本地 PC 上就可以查看 Kubernetes 群了,: local-pc$ kubectl get nodesNAME STATUS ROLES AGE VERSIONkmaster Ready master 12m v1.14.3-k3s.1knode1 Ready worker 103s v1.14.3-k3s.1knode1 Ready worker 103s v1.14.3-k3s.1 至此,我们已经完...阅读全文

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

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

控制器故障转移接近瞬时。Kafka 社区计划在下一个版本(3.4)中弃用 ZooKeeper,然后在 4.0 版本中完全删除它。此外,Kafka 3.3 还提供了其他一些新特性,比如添加了与元数据日志处理错误相关的指标,允许用户为其他用户创建委托令牌,以及严格统一的粘性分区器,以缩短分区时间。对于 Kafka Streams,这个版本增加了源/接器指标,如消费/生产吞吐量、暂停/恢复拓扑,并成了 KStream transform()和 process()方法。Kafka Connect 增加了对源连接器的精确一次语义支持。原文链接: https://www.infoq.com/news/2022/10/apache-kafka-kraft/...阅读全文

Facebook 开源的一组 Linux 内核组件与工具

安全(比如沙箱)。 Btrfs:https://facebookmicrosites.github.io/btrfs/ Btrfs 是下一代文件系统,它以当下的数据中心为基础。它是一个写时复制(CoW)文件系统,专注于高级功能实现、容错、修复和轻松管理。Btrfs 旨在解决和管理大型存储子系统,并支持快照、联机碎片整理、池化和成的多设备支持等功能。 Netconsd:https://facebookmicrosites.github.io/netconsd/ Netconsd 是一个基于 UDP 的 netconsole 守护程序,为 Linux netconsole 消息提供轻量级传输。它接并处理来自 Linux 内核的日志数据,并将其作为结构化数据提供以给生产工程师以快速识别群中问...阅读全文

博文 2018-11-24 09:27:14 debian.cn

Stackstorm 入门介绍

结果发布到IM中,比如 HipChat、JIRA 或者 Slack 等。 自动修复 - 识别和验证OpenStack计算节点上的硬件故障,正确排空实例并向管理员发送关于潜在停机时间的电子邮件,但如果出现任何问题 - 冻结工作流程并呼叫PagerDuty唤醒人员。 持续部署 - 与Jenkins一起构建和测试,配置新的AWS群,基于NewRelic的应用程序性能数据,打开负载均衡器的一些流量,以及前滚或回滚。 Stackstorm工作原理 主要组件角色: 传感器(Sensors) 用于分别接或监视事件的入站或出站成的Python插件。 当来自外部系统的事件发生并由传感器处理时,StackStorm触发器将发射到系统中。 触发器(Triggers)外部事件的StackStorm表示形式...阅读全文

最全的 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 博客园

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

Eric Raymond:Windows 10将成为Linux内核上的仿真层

著名作家(《大教堂与市》作者)、开源先锋 Eric.Raymond 一直坚定的认为Linux将主导台式机市场,取得操作系统之战的终极胜利。 他最近在个人博客宣称,在不久以后,微软会放弃Windows内核的研发,转向Linux系统,Windows 10系统将成为Linux内核的一个仿真层。 Raymond认为,目前微软的Azure比Windows系统赚得很多,用不了多久就超过传统Windows系统的入。 “从商业利润最大化角度来看,继续进行Windows 内核开发是微软不愿意干的事。相反,他们会将更多的资本投入到Azure中去。”—— 据传说,目前微软Azure云上Linux实例比Windows系统要多很多。 微软不再像以前那么特别看重Windows,这也不是什么新鲜事。Raymond将...阅读全文

博文 2020-09-30 11:07:43 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

最全 MongoDB 基础教程

放空间 # 需要执行db.repairDatabase() 来回磁盘空间 db.repairDatabase() db.runCommand({repairDatabase: 1}) remove方法已经过时 # 删除合下所有文档 db.ruochen.deleteMany({}) # 删除 num 等于1 的全部文档 db.ruochen.deleteMany({num: '1'}) # 删除 num 等于1 的一个文档 db.ruochen.deleteOne({num: '1'}) 查询文档 语法: db.collection.find(query, projection) 参数说明 query: 可选,使用查询操作符指定查询条件 projection: 可选,使用投影操作符指定返...阅读全文

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

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

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

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

Apollo 分布式配置中心详解

等方式已经越来越无法满足开发人员对配置管理的需求。Apollo 配置中心应运而生! Apollo 配置中心功能特点 正是基于配置的特殊性, Apollo 在设计之初就立志于成为一个有治理能力的配置管理平台。当前提供了以下一些特性, 统一管理不同环境、不同群的配置 Apollo 提供了一个统一界面中式管理不同环境(environment)、不同群(cluster)、不同命名空间(namespace)的配置。同一份代码部署在不同的群,可以有不同的配置,通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖。 配置修改实时生效(热发布) 用户在 Apollo 修改完配置并发布后,客户端能实时(1秒)接到最新的配置,并通知到应用程序...阅读全文

博文 2020-04-12 12:16:26 debian.cn

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

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

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

Harbor 1.9 发布:新增多项企业级功能

Harbor 1.9 发布了,此版本新功能众多,包括 tag 保留和配额、可与 CI/CD 工具成的 Webhook 通知、数据复制、Syslog 成以及 CVE 例外策略等安全功能。 Webhook 如果您是项目管理员,可以通过 Webhook 的通知机制,将 Harbor 的项目与您技术栈的其余部分连接在一起。简言之,如果您配置了 Webhook,Harbor 会就把该项目中发生的某些事件(包括推送、拉取、删除镜像和 Helm Charts、镜像扫描及 CVEanqu 漏洞发现)向 Webhook 端点发出通知。通过这些事件,您可以将 Harbor 与其他系统成在一起,以简化持续成和开发过程。理想情况下,获得 Webhook 的端点应具有一个操作侦听器,用于解释 JSON 格式...阅读全文

博文 2019-10-09 12:12:04 debian.cn

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

欺负项目成员3 月 8 日,外媒通过电子邮件联系了现任领导人 Jonathan Carter,就他对 Preining 问题的看法进行咨询,但没有到任何回复。而据报道,目前 2022 Debian 项目负责人选举已开启,三位候选人:Felix Lechner、Hideki Yamane 和 Jonathan Carter 正在竞选。3 月 9 日,发送给 Carter 的邮件被转到 Debian 新闻团队和项目负责人手中 ,新闻团队的一位发言人回应说:“目前我们没有关于 Norbert Preining 的声明。”Preining 表示,基本上发生的事情是 DAM 认为他在欺负该项目的成员。DAM 是 Debian 客户经理团队,可以批准和开除项目成员。“我猜他们指的是我与 Martina...阅读全文

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 博客园

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成群,prometheus可以remote write写入数据到任意receive节点,到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分数据的receive节点,并将数据转发过去; 同时,receive可以配置replica数量,这样的话receive会根据哈希结果将数据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,因为监控场景没那么严谨所以基本可用即可,查询去重和归拢则全部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive群,然后让...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客