写点什么

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:2111262

评论

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

大数据-26 ZooKeeper 分布式协调框架 简介与配置 Leader Follower Observer

武子康

Java 大数据 hadoop zookeeper 分布式

数据要素如何赋能企业创新

郑州埃文科技

数据要素

今夏增长卷上天?看百度商家智能体玩转服务预约!

新消费日报

这些面试问题,最好提前准备

王中阳Go

面试技巧

Coremail受邀亮相华为开发者大会

科技热闻

DApp 开发中的安全测试

北京木奇移动技术有限公司

dapp开发 区块链开发 软件外包公司

Unity Catalog 三大升级:Data+AI 时代的统一治理再进化

StarRocks

AI LakeHouse StarRocks Apache Iceberg

德比软件基于生成式 AI 的智能酒店数据匹配系统

亚马逊云科技 (Amazon Web Services)

团队创收遇瓶颈,Alpha系统解锁律所管理高效模式

科技汇

什么是数据聚合(Data Aggregation)?

镜舟科技

数据库 列式存储 StarRocks 物化视图 数据聚合

《HarmonyOSNext全流程订阅开发指南:从配置到挽留的终极方案》

Turing_010

Windows Terminal - 现代化、功能丰富的终端应用

qife122

windows 终端

“过度采集”还是“必要防护”? 隐私与安全的终极博弈

权说安全

零信任

AI 技术在线上英语学习中的应用

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

LLM 学习资料

Joseph295

Airtable 太贵了?5 个自托管替代方案成本&功能对比

NocoBase

开源 低代码 零代码 Airtable 自托管

私有化 IM 即时通讯,BeeWorks 支持国产化

BeeWorks

即时通讯 私有化部署

《HarmonyOSNext自动续期订阅支付全攻略 | 从环境检测到防漏单指南》

Turing_010

生产物料管理混乱怎么办?一文教你搞清BOM 清单和 MRP 需求!

积木链小链

数字化转型 智能制造 生产管理

MyEMS开源能源管理系统核心代码解读007

开源能源管理系统

开源 能源管理 代码解读

MyEMS开源能源管理系统核心代码解读008

开源能源管理系统

开源 能源管理

StarRocks 3.5 新特性解读:Snapshot 快照恢复、大导入性能全面升级、分区管理更智能

StarRocks

存算分离 iceberg 物化视图 Snapshot 快照 StarRocks 3.5

DApp 开发的技术方案

北京木奇移动技术有限公司

dapp开发 区块链开发 软件外包公司

HarmonyOS NEXT仓颉开发语言实战案例:外卖App

幽蓝计划

HarmonyOS

企业 IM 即时通讯底座,支持局域网通讯

BeeWorks

即时通讯 私有化部署

烘焙工业4.0:自动化升级与制造执行MES系统的深度赋能

万界星空科技

mes 万界星空科技mes 食品MES 食品加工行业 烘焙行业

HarmonyOS NEXT仓颉开发语言实战案例:电影App

幽蓝计划

harmoyos

淘宝API系列:淘宝商品详情接口详解

tbapi

淘宝商品详情接口 淘宝API 天猫商品详情接口

AI 开发英语学习 App 的技术

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

2025华为HMS for Car全球生态峰会:同心聚力共筑生态联盟

极客天地

MyEMS开源能源管理系统核心代码解读009

开源能源管理系统

开源 能源管理

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