InfraPub 为您找到相关结果 30

Postgres 10 开发者新特性

。通过把来自不同列的数据关联起来,查询规划器(query planner)现在可以避免一些边缘情况,在那些边缘情况下,之前的Postgres版本会认为WHERE语句更强的选择性,并且会导致选择了错误计划从而拖慢执行时间。Postgres的这个改进在整个SQL世界中都是极具创新性的。 Postgres 10还对性进行了改进。开发者现在可以使用索引扫描(index scans)和仅索引扫描(index-only scans)、合并连接(merge joint)以及位图堆扫描。查询是通过不同的workers来实现的,因此在某些情况下,设置和分解的成本会超过化的好处。默认情况下,可以在大于8MB大小的表以及大于512KB的索引上启用表扫描(parallel table scan...阅读全文

博文 2017-12-30 11:46:16 debian.cn

PostgreSQL 13 正式版发布

PostgreSQL 13 已正式发布,新版本对索引和查找系统进行了重大改进,大型数据库因此受益甚多,包括节省了空间并提高了索引的性能,使用聚合或分区的查询的响应时间更快,使用增强的统计信息时更好的查询计划(query planning)等。 除了化清理(parallelized vacuuming)和增量排序(incremental sorting)等呼声较高的功能外,PostgreSQL 13 还为大大小小的工作负载提供了更好的数据管理体验,并对日常管理进行了优化,为应用开发者提供了更多便利,并增强了安全性。 性能提升 在先前 PostgreSQL 版本的基础上,PostgreSQL 13 可以有效地处理 B 树索引(PostgreSQL 的标准索引)中的重复数据,从而降低 B 树...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Go 1.9 的新特性介绍

档: monotonic time 位处理操作 新增加了math/bits包, 提供了很多位运算的函数。 Test Helper函数 新加`(T).Helper和(B).Helper m`, 用来标记调用的函数是一个测试辅助函数,当输出文件名和行数的时候,这个函数回呗忽略。 标准库的微小改动 标准库也有一些小的功能的加入和提升, 比如image、net、runtime、sync等。 编译 支持地编译函数,并且在Go 1.9中势默认设置。如果不想编译,设置GO19CONCURRENTCOMPILATION为0。 ./... 会忽略vendor下的包 这一条很有用,以后你在Makefile中可以直接使用./...,而不是曲折地将vendor文件夹排除。 如果你想使用vendor下的包...阅读全文

博文 2021-01-28 17:50:34 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

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

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并发和的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实的...阅读全文

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

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增量的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

使用 Go 语言的三个原因

阅读行为放在编写之上 。Go 通过工具和自定义来强制所有代码格式化成特定的样式。这消除了学习项目特定语言的方言时的困难,并有助于发现错误,因为它们 看上去 就是不正确。 由于专注于分析和机器辅助,Go 开发人员开始采用越来越多的工具来发现常见的编码错误,这种工具从来没有在 C 语言开发者中产生共鸣 – Go 开发人员 希望 工具帮助他们保持代码清洁。 并发性 十多年来,芯片设计师一直在警告 免费午餐将会结束 。从最低端的手机到最耗电的服务器,硬件的性以 更多、更慢、堆砌 cpu 内核 的形式出现,但只有 当 你的语言可以利用它们才有意义。因此,并发特性需要内置到我们编写的要在今天的硬件上运行的软件中。 通过提供一种基于协程的 轻量级并发模型 ,或者是 Go 中已知的 goroutines...阅读全文

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

Q4OS 3.8 LTS 发布,基于 Debian Buster

Trinity 桌面安装在一起,用户可以在两者之间来回切换。两个桌面可以独立共存,不会相互干扰。Plasma 是大多数用户的主要选择,因此它被认为是默认选项,这在 Q4OS 下载站点中也很明显。 官方表示将推出自己独有的实用程序和特性,特别是使用“桌面分析器”将用户的计算机分析成不同的专业工作工具,“设置实用程序”用于安装第三方应用程序,具有多个集成快捷方式的“欢迎屏幕”使新手用户配置系统更容易,LXQT、XFCE 和 LXDE 替代环境安装脚本等等。 桌面分析器不仅仅可以执行桌面环境安装。其主要目的是提供“应用程序配置文件”,一组预定义的应用程序,并只需单击即可轻松安装。支持 .deb 和 .esh 包格式。包可以定义为 cpu 体系结构,也可以定义为桌面环境。此外,每个桌面环境都可以保留自己的应...阅读全文

PostgreSQL 10 有哪些新特性

制 :这是 PostgreSQL 在物理复制之外提供的另一种可选方案,提供了更大的灵活性,而且配置简单。 改进查询 :在查询很多时应该会有 2 到 4 倍的速度提升。 更强大的密码哈希算法 :使用了 SCRAM -SHA–256。 关于 PostgreSQL 10,还有更多的特性正在开发之中,就像 2ndQuadrant 创始人兼首席执行官 Simon Riggs 在最近的一次演讲中所 介绍 的那样。包括 PostgreSQL 10 官方路线图在内,正在进行中的特性开发工作还有诸如以下这些: 自治事务 多主集群,使用 分片 提高扩展性和可用性 查询 JIT 编译 可插拔的存储引擎(columnar、内存内存储等) 页级数据压缩等 改进临时表性能 不过,哪些特性将成为 PostgreSQL...阅读全文

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

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

个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。 JEP 307: 向 G1 引入 Full GC JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中 JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程 JEP 313: 移除 Native-Header Generation Tool (javah) JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等 JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆...阅读全文

博文 2018-03-21 08:35:10 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

在 Kubernetes 上扩展 TensorFlow 模型

由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的处理算法,例如异步训练和 allreduce 式训练,需要一个分布式集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深度学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花费大量时间。由于更多用户访问模型的端点,为了有效地处理客户端请求,需要更多服务实例...阅读全文

Google 关于 Go 2 的讨论

语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 查看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文

博文 2017-07-20 10:03:13 debian.cn

Metasploit Framework 5.0 发布 最流行的渗透测试框架

言,框架建立在不断增长的世界级攻击性内容库的框架基础上。另外,此次更新还包括了可用性改进和大规模开发的支持,数据库和自动化 API 的改进等。 在 4.x 现有的 Postgresql 数据库后端之上,Metasploit 5.0 增加了将数据库本身作为 RESTful 服务运行的功能,使用该服务可以与多个 Metasploit 控制台甚至外部工具进行交互。5.0 版本的这个变更还将取消数据库服务的一些批量操作,从而通过处理数据库和常规 msfconsole 操作来提高性能。 新的发布周期 过去的一年,Metasploit 的开发包括两个分支:一个是 4.x 的稳定分支,支持 Metasploit Pro 和像 Kali Linux、ParrotSec Linux、和 Rapid7 自己...阅读全文

博文 2019-01-15 13:37:28 debian.cn

ChaosMesh 的基本功能有哪些

混沌实验场景,以及方便地将已有的混沌实验场景复用到其他应用混沌实验中,大大降低了混沌实验的成本。目前混沌实验场景提供的功能有:编排串行混沌实验编排混沌实验支持状态检查步骤支持中途暂停混沌实验支持使用 YAML 文件定义和管理混沌实验场景支持通过 Web UI 定义和管理混沌实验场景具体的实验场景配置,参考具体创建 Chaos Mesh Workflow。可视化操作​Chaos Mesh 为用户提供了单独的 Chaos Dashboard 组件,即可视化支持。Chaos Dashboard 极大地简化了混沌实验,用户可以直接通过可视化界面来管理和监控混沌实验,仅需点一点鼠标就能够定义混沌实验的范围、指定混沌注入的类型、定义调度规则,以及在界面上获取到混沌实验的结果等。​安全保障​Chaos...阅读全文

谷歌开源 Pigweed:用于提升嵌入式开发效率

编辑——编译——刷新——测试(edit-compile-flash-test)周期。 这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上运行测试,从而节省更多时间。 团队开发代码需要强调一致性,然而,设置 lint、配置代码格式以及添加自动的提交前检查等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。 至于该项目为什么取名为 “Pigweed”,谷歌给出了解释:“Pigweed,又称 amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草...阅读全文

博文 2020-03-22 08:35:14 debian.cn

Systemd 及 Service 文件含义解析

Systemd 是 Linux下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。Systemd 的特性有:支持化任务;同时采用socket式 与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 其中的监视和控制功能的主要命令就是systemctl。 Systemd 有很多不同类型的使用单元,主要包括:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交换分区(.swap)、文件路径(.path)、启动目标(.target)。一般我们常用的是其中的系统服务。 对于系...阅读全文

博文 2021-02-17 10:02:50 joseph

2017年DevOps的5大发展预测

DevOps流程中去以确保合规。对于需要快速推进的DevOps世界来说,将安全放在首位是一种挑战。但是,如果没有这么做,2017年可能会出现由于DevOps推进导致的重要数据泄漏。 Harrison说,“我们可能会看见重大漏洞溯源后和DevOps的使用有关,这将会促成DevOps和安全团队成为亲密伙伴。” 更多自动化代码 上一年,公司开始引入自动化工具以减少为应用程序中寻找缺陷代码的冗长工作。2017年对于开发者会有更多的自动化工具。GitLab产品副总裁Job van der Voort认为,这不是一件坏事,因为自动化将会围绕着代码测试、数据聚合和格式化、报表和通知展开。 他提到,“由于当前的新硬件和技术(如GPU和计算),通过机器学习的自动化编码将比以往更加流行。” 感谢朱昊冰对本文的审校...阅读全文

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

Terraform 学习总结 — Terraform 简介

Plans) Terraform 有一个 plan 步骤,它生成一个执行计划。执行计划显示了当执行 apply 命令时 Terraform 将做什么。通过 plan 进行提前检查,可以使 Terraform 操作真正的基础结构时避免意外。 资源图(Resource Graph) Terraform 构建的所有资源的图表,它能够地创建和修改任何没有相互依赖的资源。因此,Terraform 可以高效地构建基础设施,操作人员也可以通过图表深入地解其基础设施中的依赖关系。 自动化变更(Change Automation) 把复杂的变更集应用到基础设施中,而无需人工交互。通过前面提到的执行计划和资源图,我们可以确切地知道 Terraform 将会改变什么,以什么顺序改变,从而避免许多可能的人为错误。 安装...阅读全文

Python的闭包和装饰器

的。除此之外,闭包还有很多其他功能,比如用于封装等,另外,闭包有效的减少了函数参数的数目,这对计算非常有价值,比如可以让每台电脑负责一个函数,然后串起来,实现流水化的作业等。 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 目录...阅读全文

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

influxdb内存消耗分析及性能优化【探索篇】

开始写入数据之后,在4h+10m之后,会对上个分片进行全量压缩策略 #应用: 本文设置为80小时。目的是不进行full压缩策略,来避免io过多消耗,后面会介绍由于设置的retention policy为72小时,所以此处大于72即可。 compact-full-write-cold-duration = "80h" #描述: 最大压缩数,默认会使用golang的逻辑处理器的一半 #场景: 当进行level1,level2,level3及full策略压缩文件时使用的处理器数量, #当前服务器为16core32物理线程,则会在压缩时默认使用16个处理器 #应用: 本文设置为8。用于减轻压缩策略时,cpu与磁盘io的压力,但相应的会导致压缩周期变长。 max-concurrent...阅读全文

博文 2021-10-27 16:06:30 知乎

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

提案包括更好的错误处理和泛型,而它们的草案已在今年的 GopherCon 大会上发布,等待更多的探索发展。至于剩余的提案,官方提到,他们不希望过度影响数百万 Go 开发者以及现在的 Go 代码,更不想冒着分裂生态系统的风险去改版 Go 2,因此 Go 2 无法做出太多变更,每一个变更都需要仔细选择。为此,这些提案都将使用新的提案评估流程来决定去留与发展。 提案评估流程 提案评估流程旨在收集对少数选定提案的反馈意见,以作出最终决定。这个过程或多或少会与发布周期进行,包括以下步骤: 提案选择:Go 开发团队选择少量看起来值得考虑接受的 Go 2 提案,但尚未做出最终决定。 提案反馈:Go 开发团队将发布一份列出所选提案的公告,公告会向社区解释提案的初衷并收集反馈意见。在这个步骤中,社区可提出...阅读全文

Spinnaker 介绍 – Netflix 的持续交付平台

pipeline,由若干个操作组成,每个操作又叫做一个 stage。触发一个 pipeline 方式非常灵活,可以手动触发,也可以用 jenkins、CRON 等。同时,可以配置 pipeline 向外发送一些通知信息,比如“开始”,“结束”,“失败”等。 stage pipeline 中的一个操作,stage 之间可以有先后顺序,也可以。Spinnaker 中预定义了一些 stage 的类型,这些类型的 stage 往往使用频率比较高: Bake:在某个 region 中制作虚拟机的镜像。Netflix 推崇不可变基础设施的理念,所以他们将软件打包进镜像的方式来部署服务。创建镜像的核心基于 Packer(Hashicorp 开源的镜像烘焙工具,Vagrant 就出自该公司 CEO 之手)。如果部署时...阅读全文

博文 2018-12-21 19:30:47 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

NameNode,然后再从下一个拥有该 block 副本的DataNode 继续读。 read 方法是的读取 block 信息,不是一块一块的读取;NameNode 只是返回Client请求包含块的DataNode地址,并不是返回请求块的数据; 最终读取来所有的 block 会合并成一个完整的最终文件。 从 HDFS 文件读写过程中,可以看出,HDFS 文件写入时是串行写入的,数据包先发送给节点A,然后节点A发送给B,B在给C;而HDFS文件读取是的, 客户端 Client 直接读取block所在的节点。 9. NameNode 工作机制以及元数据管理(重要) NameNode 工作机制 9.1 namenode 与 datanode 启动 namenode工作机制 第一次启动namenode...阅读全文

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

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

Web前端知识体系精简

。 4、盒子模型 Box 盒子模型是css最重要的一个概念,也是css布局的基石。 常见的盒子模型有块级盒子(block)和行内盒子(inline-block),盒子最关键的几个属性包括margin、border、padding和content,这几个元素可以设置盒子和盒子之间的关系以及盒子和内容之间的关系。还有一个问题是计算盒子的大小,需要注意的是,box-sizing属性的设置会影响盒子的width和height。只有普通文档流中块框的垂直外边距才会发生外边距合内框、浮动框或绝对定位之间的外边距不会合并。 5、弹性布局 Flex Flex布局的容器是一个伸缩容器,首先容器本身会更具容器中的元素动态设置自身大小;然后当Flex容器被应用一个大小时(width和height),将会自动调整...阅读全文

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

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

发的全链路影子库路由组件借助了 OpenTracing 随行数据透传机制,且与监控组件是强耦合关系,而基础框架将统筹监控,压测和其他模块,借助Spring Boot Starter 机制,一定程度上做到了功能的开箱即用,无缝集成。而使用字节码增强方式的 Pinpoint, SkyWalking,无法很好地做到与基础框架集成,若开发,也会多出基础框架与 Java Agent 两边的管理和维护成本,减缓迭代速度。 在之后将近两年的时间里,应用服务监控覆盖了得物技术部使用的将近 70% 的组件,为得物App在 2021 年实现全年 99.97% 的 SLA 提供了强有力的支持。现在看来,基于 OpenTracing + Prometheus 生态,很好地解决了分布式系统的调用链监控,借助...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

改并不重要,因为在实践中,我们仔细地推出了整个incarnation的内容。 但是,这个方案缺少灵活性。考虑这样的场景:多个正在进行的推出改变了相同的asset——比如,为期一周的新标志与每日版本更新推出。这个用例无法通过纯粹的基于actuation的推出来管理。在实践中,需要对更改进行批处理。 如图12所示,基于intent的推出仅仅在特定asset选中后才会更新asset的intent。随后intent立即通过Enforcer被执行。 图12:基于intent的推出 基于intent的推出比基于acutation的推出复杂很多。它们要求能够程序化地改变intent的能力。在Prodsepc模型里,这个需求意味着依赖于可以以编程方式编辑的SoT。SoT还应允许足够的粒度来匹配asset...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Kafka 3.0新特性全面曝光,真香!

己或者投给别人。候选人所知道的日志信息,一定不能比自己的更少,即能被选举成为leader节点,一定包含了所有已经提交的日志。先到先得的原则数据一致性保证(日志复制机制)前面通过选举机制之后,选举出来了leader节点,然后leader节点对外提供服务,所有的客户端的请求都会发送到leader节点,由leader节点来调度这些并发请求的处理顺序,保证所有节点的状态一致,leader会把请求作为日志条目(Log entries)加入到他的日志当中,然后的向其他服务器发起AppendEntries RPC复制日志条目。当这条请求日志被成功复制到大多数服务器上面之后,Leader将这条日志应用到它的状态机并向客户端返回执行结果。客户端的每个请求都包含被复制状态机执行的指令leader将客户端请求...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

次创建这些资源的呢?其实这些工作都是由 Kubernetes 内置的 Controller(控制器) 来完成的。 Kubernetes 在整个系统中使用了大量的 Controller,Controller 是一个用于将系统状态从“当前状态”修正到“期望状态”的异步脚本。所有 Controller 都通过 kube-controller-manager 组件运行,每种 Controller 都负责一种具体的控制流程。首先介绍一下 Deployment Controller: 将 Deployment 记录存储到 etcd 并初始化后,就可以通过 kube-apiserver 使其可见,然后 Deployment Controller 就会检测到它(它的工作就是负责监听 Deployment...阅读全文

博文 2022-04-18 16:18:04 CSDN