InfraPub 为您找到相关结果 37

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

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。KRaft 是一种共识协议,可以直接在 Kafka 中管理的管理被整合到了Kafka当中,而不需要使用像ZooKeeper这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。KRaft 使用了Raft共识算法的一种基于事件的变体,因此得名。​随 KRaft...阅读全文

Dubbo 2.7.0发布 分布式RPC服务框架

的异步模型。2.6 及以前的版本,全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的中心,将与注册配置无关的服务信息...阅读全文

博文 2019-01-18 09:43:16 debian.cn

Linux Kernel 5.12-RC1标记为dontuse 严重到会毁掉整个根文件系统

当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接写入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的,这些的损坏很可能会导致整个文件系统无法挂载和使用。Torvalds 继续指出,如果你根本不使用 swap...阅读全文

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

导语 | kafka3.0的版本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka核心组件producer:消息生产者,就是向broker...阅读全文

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

代码审计CodeQL

CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文

Ceph 12.2.0 正式版本发布, 代号 Luminous

。 BlueStore支持Ceph存储的所有的完整的数据和校验。 BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。 EC池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。 ceph-mgr: ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继续, 但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。 ceph-mgr守护进程daemon包括基于REST的API管理。注:API仍然是实验性质的,目前有一些限制,但未来会成为API管理的基础...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Debian 9 Stretch 发布,献给已故的创始人 Ian

Debian 发行版宣布正式释出代号为 Stretch 的 Debian 9,该版本将提供五年的支持。Stretch 将专门献给于 2015 年 12 月 28 日去世的项目创始人 Ian Murdock。Stretch 的主要变化包括:默认 MySQL 变种改为 MariaDB;Firefox 和 Thunderbird 替代去品牌名的版本 Iceweasel 和 Icedove, 九成以上的源包用逐位对应的方式构建,未来版本的 Debian 还将提供验证包的工具和;X 显示系统不再需要 root 权限运行;GnuPG 经典版本将被淘汰,引入的现代版本增加了椭圆曲线加密,改进默认设置,模块化架构,改进智能卡支持;改进 UEFI 支持等。 软件方面的变化包括:Apache...阅读全文

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

FFmpeg 3.4 发布,多媒体处理工具合集

FFmpeg 3.4 已发布。FFmpeg 是用于处理音频、视频、字幕和相关的多媒体内容的库和工具的合集。 库版本列表: libavutil 55. 78.100, libavcodec 57.107.100, libavformat 57. 83.100, libavdevice 57. 10.100, libavfilter 6.107.100, libavresample 3.7.0, libswscale 4.8.100, libswresample 2.9.100, libpostproc 54.7.100. 新型视频滤波器,音频滤波器,解复用器和解码器以及其他更新。 在 FFmpeg 3.4 中包含的新视频滤镜中,有 deflicker,doubleweave...阅读全文

博文 2018-01-03 08:52:45 debian.cn

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

储系统. HDFS 使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通文件系统一样使用分布式文件系统。 HDFS文件系统 2. HDFS架构 HDFS架构 HDFS是一个主/从(Mater/Slave)体系结构,由三部分组成: NameNode 和 DataNode 以及 SecondaryNamenode: NameNode 负责管理整个文件系统的,以及每一个路径(文件)所对应的数据块信息。 DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个 DataNode 上存储多个副本,默认为3个。 Secondary NameNode 用来监控 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 的快照。最主要作用是辅助 NameNode 管理...阅读全文

Everspin宣布千兆级芯片ST

它还展示了公司垂直磁性隧道结(pMTJ)的可扩展性。 首批配备Everspin全新千兆MRAM芯片的产品之一将来自Smart Modular公司。该公司计划发布一款NVMe PCIe硬盘,它的重量和长度都将减半,其将用于缓存和储存加速应用。Smart Modular表示,该产品单元在4K随机读写测试中能够达到1500K IOPS。 眼下,Everspin正在闪存峰会(Flash Memory Summit)展示他们的1Gb ST-MRAM。...阅读全文

GlusterFS 和 Ceph 比比看

Ceph 中,默认情况下将数据复制到三个不同的节点,这确保备份始终可用。 商品化硬件。GlusterFS 和 Ceph 是在 Linux 操作系统之上开发的。因此,对硬件唯一的要求是这些产品具有能够运行 Linux 的硬件。任何商品化硬件都可以运行 Linux 操作系统,结果是使用这些技术的公司可以大大减少在硬件上的投资——如果他们这样做的话。然而,实际上,许多公司正在投资专门用于运行 GlusterFS 或 Ceph 的硬件,因为更快的硬件可以更快地访问存储。 去中心化。在云环境中,永远不应该有中心点故障。对于存储,这意味着不应该用一个中央位置存储。GlusterFS 和 Ceph 实现了访问去中心化的解决方案,从而降低了存储访问的可用性和冗余性。 现在来谈谈 GlusterFS 与...阅读全文

博文 2017-08-09 10:35:29 debian.cn

Apache Kafka发布 3.0 正式版

昨天,Apache Kafka 3.0 版本正式发布,这是一个涉及多方面的大版本。在这个版本中,Apache Kafka 3.0 引入了各种新功能、突破性的 API 更改以及对 KRaft 的改进:Apache Kafka 的内置共识机制将取代 Apache ZooKeeper™。虽然 KRaft 尚未被推荐用于生产(已知差距列表),但我们对 KRaft 和 API 进行了许多改进。Exactly-once 和分区重新分配支持值得强调,我们鼓励开发者查看 KRaft 的新功能并在开发环境中试用它。并且,从 Apache Kafka 3.0 开始,生产者默认启用最强的交付保证 ( acks=all, enable.idempotence=true),这意味着用户现在默认获得排序和持久性...阅读全文

博文 2021-09-26 14:13:03 joseph

Ubuntu发布重要更新将修复九个漏洞

(CoW),这影响了所有受支持的Ubuntu版本和他们的衍生版。 Linux内核的关联数组实现也是一个问题,它有时并没有正确地处理添加一个新条目,以及在Linux内核的GTCO digitizer USB驱动程序中发现的一个越界阅读,它影响了Ubuntu 17.10和Ubuntu 16.04 LTS版本。 修正了Linux内核驱动程序子系统中的争用情况,这个更新只影响Ubuntu 17.04。更新地址解决了Linux内核的PowerPC KVM实现中的空指针引用错误和密钥管理子系统中的争用情况,仅影响Ubuntu 17.10。 建议所有Ubuntu用户尽快更新安装 Andrey Konovalov在Linux内核的USB子系统中发现了另一个安全漏洞,该子系统无法正确验证USB BOS,从而影...阅读全文

博文 2017-12-20 11:31:08 debian.cn

gRPC 1.23.0 发布,Google高性能 RPC 框架

<> (#19569)csharp 在 UTF8 编码/解码期间删除 byte[] 分配 (#19511)csharp:删除 AuthContext 的 Lazy 用法 (#19533)csharp 避免 HandleNewServerRpc=>HandleCallAsync 中的 capture-context (#19526)确保 Grpc 包包含 Grpc.Core.targets (#19449) Objective-C ObjC 实验支持 Bazel 构建 (#19621)实现全局拦截器 (#19322) PHP PHP:修复 channel::constructor() 中缺少的 addref (#19737) Python 在迭代之前检查 call.trailing_metadata...阅读全文

博文 2019-08-18 18:31:20 debian.cn

Linux基金会推出ACT项目 帮助开发者遵守开源许可证

的资助和支持。” 据悉,目前已确定将成为 ACT 的一部分的四个项目为: FOSSology:开源许可证合规性软件系统和工具包,允许用户从命令行运行许可证,版权和导出控制扫描。 QMSTR:该工具创建了一个集成的开源工具链,可实现许可证合规性管理的行业最佳实践。QMSTR 集成到构建系统中,以了解软件产品及其来源和依赖性。开发者可在本地运行 QMSTR 以验证结果,查看问题并生成合规性报告。 SPDX Tools:软件包数据交换(SPDX)是用于传达软件物料清单信息的开放标准,包括组件、许可证、版权和安全参考。 Tern: 这是一款检查工具,用于查找容器映像中安装的软件包的。它可以更深入地了解容器的物料清单,从而可以更好地决定基于容器的基础架构、集成和部署策略。...阅读全文

博文 2018-12-09 13:32:56 debian.cn

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。 目录[-] 参考地址: Nacos 官方文档 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 项目示例地址: Kubernetes 中部署 Nacos 的部署文件 Kubernetes 中部署 Mysql 数据库部署文件 如果该文章对你有帮助,别忘了 Github 帮忙点颗星哦~ 一、什么是 Nacos Nacos 是阿里开源的服务注册中心与配置中心组件,能够帮助开发人员快速实现动态服务发现、服务配置、服务及流量管理。同时能够与 SpringCloud、Kubernetes、Dubbo 等开源生态无缝集成。 Nacos 支持如下核心特...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

MySQL 8 第一个正式版发布:更好的性能

JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。 9. 可靠性:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,存储在单个事务数据字典中。 10. 高可用性(High Availability):InnoDB 集群为您的数据库提供集成的原生 HA 解决方案。 11. 安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度...阅读全文

博文 2018-04-20 10:40:18 debian.cn

Java Annotations详解

Java注释被用来为java代码提供(meta data)。作为,注释不会直接影响代码的执行结果,不过事实上有些注释就是为了影响代码的执行结果而定义的。 Java注释是从Java 5开始添加的。本文对于Java注释的讨论是基于java 6的,据我所知,到目前为止Java 7中关于注释的部分并没有发生改变,所以本文对java 7编程人员上来说应该也是可用的。 目录: · Java 注释的作用 · 注释的基础知识 · 注释的位置 · Java中预置的注释 · 创建你自己的注释 Java 注释的作用 预编译指令(Compiler instructions) 编译时指令(Build-time instructions) 运行时指令(Runtime instructions) Java有...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

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

(Tag Retention) 除了项目配额之外,1.9 版还提供了一项增强功能,用于更好地管理镜像生命周期并优化存储分配,此项功能称为“Tag保留”。Harbor 的存储中可能会迅速累积起大量镜像的文件,特别是在 Harbor 与 CI 系统挂钩在一起以自动生成内部版本时,许多 tag 会在一定时间之后或被下一个内部版本取代后过时。要释放这些已过期的镜像所占用的空间,并满足监管与合规要求,项目管理员可以选择性地定义镜像 tag 的保留策略,以留存具有特定匹配镜像 tag 的镜像,同时删除其他 tag 及其关联的 blob。无论是手动生成还是从 CI/CD 管道自动生成,镜像 tag 通常包含环境和镜像使用情况的大量信息,足以用作定义保留策略的条件。 CVE 例外策略 (Exception...阅读全文

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

Stackstorm 入门介绍

。 有通用触发器(例如定时器,webhooks)和集成触发器(例如,Sensu告警,JIRA问题更新)。 通过编写传感器插件可以定义新的触发器类型。动作(Actions)StackStorm出站集成。 有通用动作(ssh,REST调用),集成(OpenStack,Docker,Puppet)或自定义操作。 动作是Python插件或任何脚本,通过添加几行将其消耗到StackStorm中。 动作可以由用户通过CLI或API直接调用,或者作为规则和工作流程的一部分使用和调用。 规则(Rules)将触发器映射到动作(或工作流),应用匹配条件并将触发器加载到动作输入中。 工作流(Workflows)将动作拼接成“超级动作”,定义顺序,转换条件以及传递数据。 大多数自动化不止一步,因此需要多个动作...阅读全文

JDK 11 版本时间表公布

) JSR-250:Java 平台的常用注解 已经得到确认的是,JDK 不再需要支持这些模块,因为它们已在过去的 12 年中得到很好的发展,并且可以在第三方站点(如 Maven Central)中随时获得。 CORBA 技术早在 1998 年就有了,但大多数现代应用程序已经不使用该项技术,因此 JDK 中可用的 CORBA 模块也将被移除。Oracle 认为继续为 CORBA 提供支持得不偿失。 计划在 JDK 11 中移除的模块包括: java.xml.ws(JAX-WS,以及相关的 SAAJ 和 Web 服务) java.xml.bind(JAXB) java.activation(JAF) java.xml.ws.annotation(通用注解) java.corba(CORBA...阅读全文

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

RabbitMQ 高可用实现镜像队列

于单点失效是有弹性的,但是同时也需要注意:尽管 exchange 和 binding 能够在单点失效问题上幸免于难,但是 queue 和其上持有的 message 却不行,这是因为 queue 及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的 queue 不可用。 举例说明,如果一个 RMQ 集群由三个节点组成(RMQ集群节点的模式也是有讲究的,一般三个节点会有一个 RAM,两个 DISK),exchange、bindings 等会在三个节点之间同步,但 queue 上的消息是不会同步的,且不特殊设置的情况下,Queue 只会在一个节点存在。 可能有的同学会提另一个问题,我从三个 RMQ 节点的监控面板,都可以看到这个 Queue?这个是对的,这是由于 Queue 的...阅读全文

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

社交巨人Facebook使用Linux和Btrfs的姿势

针对性地使用Btrfs的一些特性来提高我们手头工作的性能。我们比较关注在系统任务管理、快照之类的事情上。 Linux.com:我们都知道Facebook是Linux的重度用户。在Facebook庞大的基础设施里,哪些地方用到了Linux? Chris Mason:简单地说,Facebook所有的基础设施都使用了Linux。围绕分布式操作系统我们利用了Btrfs的很多特性,比如分布式任务管理、利用快照功能快速更新以及哈希校验功能,等等。 我们在相当数量的机器上运行着Gluster——既支持XFS也支持Btrfs,我们的目标就是做好存储这件事。在Gluster上喜欢用Btrfs的其中一个原因是,数据循环冗余校验(cyclic redundancy checks)和循环冗余校验使我们能够检测...阅读全文

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

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

为 1。 ReplicaSet 的 PodSpec 字段从 Deployment 的 manifest 以及其他相关中复制而来。有时 Deployment 记录在此之后也需要更新(例如,如果设置了 process deadline)。 当完成以上步骤之后,该 Deployment 的 status 就会被更新,然后重新进入与之前相同的循环,等待 Deployment 与期望的状态相匹配。由于 Deployment Controller 只关心 ReplicaSet,因此需要通过 ReplicaSet Controller 来继续协调。 ReplicaSets controller 在前面的步骤中,Deployment Controller 创建了第一个 ReplicaSet,但仍然还是...阅读全文

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

协议介绍之深入了解 gRPC

及它的相关属性。在 HTTP/1.x 时代,我们采用纯文本协议,并且使用 \r\n 来分隔,如果我们要传输的很多,就会导致 header 非常的庞大。另外,多数时候,在一条连接上面的多数请求,其实 header 差不了多少,譬如我们第一个请求可能 GET /a.txt,后面紧接着是 GET /b.txt,两个请求唯一的区别就是 URL path 不一样,但我们仍然要将其他所有的 fields 完全发一遍。 HTTP/2 为了结果这个问题,使用了 HPACK。虽然 HPACK 的 RFC 文档 看起来比较恐怖,但其实原理非常的简单易懂。 HPACK 提供了一个静态和动态的 table,静态 table 定义了通用的 HTTP header fields,譬如 method,path 等...阅读全文

博文 2017-06-22 11:08:48 debian.cn

互联网协议正在发生变化

)。像 HTTP/2 一样,它始于 Google 的一项成果,并且现在已经被 IETF 接纳作为一个 HTTP-over-UDP 的初始用例,其目标是在 2018 年底成为一个标准。然而,因为 Google 已经在 Chrome 浏览器及其网站上部署了 QUIC,它已经占有了超过 7% 的互联网通讯份额。 阅读 关于 QUIC 的答疑 除了大量的通讯从 TCP 到 UDP 的转变(以及隐含的可能的网络调整)之外,Google QUIC(gQUIC)和 IETF QUIC(iQUIC)都要求全程加密;并没有非加密的 QUIC。 iQUIC 使用 TLS 1.3 来为会话建立密钥,然后使用它去加密每个数据包。然而,由于它是基于 UDP 的,许多 TCP 中公开的会话信息和在 QUIC 中被加密...阅读全文

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

Debian中的使用尤为广泛,所以感觉这很讽刺啊。为了掩盖这个问题,我们使用了Gmane,但在过去几年中Gmane可谓是非常不稳定。 我设法提供了一个线程列表的归档,但我们的列表管理员似乎并不关心,而且也不想支持这个项目。 Debian很难机器读取 虽然肯定有办法通过程序的方式处理Debian包,但这种体验一点也不愉快。一切似乎都十分缓慢而且很麻烦。我只选了三个简单的例子来说明我的观点。 Debiman需要piuparts的帮助,才能分析每个包显示联机帮助页等内容的替代机制。这是因为维护者的脚本通过调用shell脚本来修改备用数据库。如果没有实际安装包,你就无法得知它对备选的数据库做了哪些更改。 pk4需要维护自己的缓存,才能根据包的名称查找包的。其他工具在每次调用时都需要从头开始解析apt数据...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

journalctl 清理journal日志 - 九重霄

,此方法在 Storage=none 时无效。 此方法不能实时读取日志消息, 但是可以读取先前保存的日志消息(例如在系统启动完成之后读取系统启动早期的日志消息)。 此方法还可以读取到完整的日志。 此方法一般无法读取当前最新的日志消息, 只能读取已经被记录到文件系统上的日志消息。 注意,syslog 守护进程通常使用此方法(而不是前一种方法), 因此 Storage= 选项(而不是 ForwardToSyslog= 选项) 不应该设为"none"。...阅读全文

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

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

-Thin 会相对有点麻烦。 需要指定容量,末尾还要留点容量,因为 convert 到 thin-pool 后需要占用少量空间来存放一些 metadata,2 MB,但这个容量不会从你创建的 lv 中去获取,所以这个容量要留有,分区不能全部划完。 1234[email protected]:/var/lib/vz/template/iso# vgs VG #PV #LV #SN Attr VSize VFree hdd 1 1 0 wz--n- 2.73t 2.63t s163941-vg 1 2 0 wz--n- 223.33g 0 vgs 看到剩余容量是 2.63T,我也指定 2.63T,实际上也留有一部分小数. 从名为 hdd 的 vg 中创建大小为 2.63T,名字叫 vm-data...阅读全文

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

译:Kubernetes 最佳实践

道实现自动化,这将提高应用程序部署效率和速度。CI/CD 还将提供部署的审计跟踪。Git 应该是所有自动化的单一事实来源,并将实现对 K8s 集群的统一管理。还可以考虑使用专用的基础架构交付平台,例如 Spacelift,它最近引入了 Kubernetes 支持。缩小容器的大小较小的映像大小将有助于加快构建和部署速度,并减少容器在 K8s 集群上消耗的资源量。应尽可能删除不必要的软件包,并应优先使用诸如 Alpine 之类的小型操作系统分发映像。较小的图像可以比较大的图像更快地拉取,并且消耗更少的存储空间。遵循这种方法还将提供安全优势,因为恶意行为者的潜在攻击媒介将会减少。用标签整理对象K8s 标签是附加到对象用来组织集群资源的键值对。标签应该是有意义的,提供一种机制来跟踪 K8s 系...阅读全文

博文 2022-09-13 19:32:21 atbug.com

7大维度看国外企业为啥选择gRPC打造高性能微服务

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的机制。它允许捕获有关请求的重要上下文,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的解决方案,以绕过企业的架构来请求路由。 度量、跟踪和日志记录 - 可观察性对于复杂的分布式系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

博文 2018-03-19 17:51:32 debian.cn

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

读取。用户态进程读取这些数据后,进一步关联 Kubernetes 后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种内核事件,如文件读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在内核上做监测的好处是应用不需要变更,也不需要重新编译内核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的解决方案会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证内核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈空间当前为 512、最...阅读全文

博文 2022-03-21 09:11:51 joseph

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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

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

(见图6)里,需要代表每个前端job的asset,表示每个cell负载均衡器配置的asset,全局负载均衡器配置的asset,以及Spanner DB schema的asset。 asset是具有以下结构的通用抽象: string标识符,简称为“asset ID”负载0个或者多个插件 负载和插件是任意protobuf[3]消息。负载的类型定义了asset的类型。比如,如果负载是类型为prodspec.asset.BorgJob的protobuf消息,意味着这个asset表示运行在Borg上的job,并且会作为BorgJob asset被引用。 插件使得可以给asset添加任意,无论是什么类型。插件对于跨领域问题特别有用。比如,常见的“受影响集群”插件让大家能够了解asset的影响域——如...阅读全文

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