写点什么

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

作者: Andrea Messetti

  • 2022-11-11
    北京
  • 本文字数:877 字

    阅读完需:约 3 分钟

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 引入的新的仲裁控制器确保元数据在整个仲裁中可以被准确复制。活动控制器将元数据存储在事件源日志主题中,仲裁中的其他控制器对活动控制器创建的事件做出响应。事件日志定期进行快照,确保日志不会无限增长。与基于 ZooKeeper 的控制器不同,如果出现了问题,仲裁控制器不需要从 ZooKeeper 加载状态,因为集群的内部状态已经分布在元数据主题中。这大大减少了不可用时间窗口,缩短了系统最坏情况恢复时间。


下图显示了使用新的仲裁控制器比使用 ZooKeeper 更快地关闭具有 200 万个分区的 Kafka 集群。



新的 KRaft 共识算法和仲裁控制器使得 Kafka 集群可以扩展到数百万个分区,不仅提升了稳定性,让 Kafka 变得更容易监控、管理和支持,而且让整个系统可以有一个单一的安全模型,使控制器故障转移接近瞬时。


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/


相关阅读:

使用 Strimzi 将 Kafka 和 Debezium 迁移到 Kubernetes

Flink 读写多套 Kerberos 认证的 Kafka 方案


2022-11-11 09:2111367

评论

发布
暂无评论
发现更多内容

Java-技术专题-多线程之线程池

码界西柚

《HTML5与CSS3基础教程(第8版)》.pdf

田维常

电子书

《图解Java多线程设计模式》.pdf

田维常

电子书

《精通Spring MVC4》.pdf

田维常

电子书

《从零开始学微信小程序开发》.pdf

田维常

电子书

《数据结构与算法分析:Java语言描述》.pdf

田维常

电子书

《MySQL技术内幕(第5版)》.pdf

田维常

电子书

《系统架构:复杂系统的产品设计与开发》.pdf

田维常

电子书

《零成本实现Web性能测试——基于Apache JMeter》.pdf

田维常

电子书

《MySQL开发者SQL权威指南》.pdf

田维常

电子书

《Git权威指南》.pdf

田维常

电子书

《程序员必读之软件架构》.pdf

田维常

电子书

《实战Java高并发程序设计》.pdf

田维常

电子书

《啊哈!算法》.pdf

田维常

电子书

《腾云:云计算和大数据时代网络技术揭秘》.pdf

田维常

电子书

《自己动手写网络爬虫》.pdf

田维常

电子书

《人人都是架构师:分布式系统架构落地与瓶颈突破》.pdf

田维常

电子书

《Python源码剖析》.pdf

田维常

电子书

《Java虚拟机并发编程》.pdf

田维常

电子书

《循序渐进Linux (第2版)》.pdf

田维常

电子书

《编写高质量代码——改善Java程序的151个建议》.pdf

田维常

电子书

《Go语言实战》.pdf

田维常

电子书

《重构:改善既有代码的设计》.pdf

田维常

电子书

基于 Flink SQL CDC 的实时数据同步方案

Apache Flink

《Redis入门指南》.pdf

田维常

电子书

《阿里巴巴Java 开发手册》.pdf

田维常

电子书

《Docker全攻略》.pdf

田维常

电子书

《用户网络行为画像》.pdf

田维常

电子书

《一线架构师实践指南》.pdf

田维常

电子书

《实战Nginx:取代Apache的高性能Web服务器》.pdf

田维常

《Java性能优化全新指南》.pdf

田维常

电子书

Kafka 3.3使用KRaft共识协议替代ZooKeeper_架构_InfoQ精选文章