写点什么

Kafka 4.0 采用 KRaft 模式简化架构

  • 2025-04-17
    北京
  • 本文字数:1178 字

    阅读完需:约 4 分钟

Kafka 4.0 采用 KRaft 模式简化架构

Apache Kafka 4.0 的发布是一个重要的里程碑,本次大版本更新引入了大量的新功能和改进,其中最引人注目的是 KRaft 模式下的默认操作,根据 Confluent 的文档,它消除了对 Apache ZooKeeper 的依赖。


十多年来,ZooKeeper 一直是 Kafka 的支柱,社区感谢了它的贡献。然而,Kafka 4.0 默认采用 KRaft,无需再单独维护 ZooKeeper 组件,简化了部署和管理。



图片来源:Confluent 文档)


AWS 社区建设者 Lalit Moharana 在 LinkedIn 上发帖:


随着 Apache Kafka 在即将发布的 Kafka 4.0 中采用 KRaft,ZooKeeper 将退居二线,这标志着这段长达 14 年的合作关系即将结束。这一转变简化了 Kafka 的架构,抛弃了独立的 ZooKeeper 系统,提高了可扩展性,并为自给自足的未来铺平了道路 —— 这一切都要归功于 KRaft 的 Raft 协议。


此外:


为什么要改变?ZooKeeper 的开销和限制(10 万多个分区)跟不上 Kafka 的增长。还有:KRaft 的优势:一个系统,数以百万计的分区,更快的恢复 —— Kafka 已经准备好翱翔蓝天!


除了架构上的转变,Kafka 4.0 还正式引入了下一代消费者组协议 KIP-848 。这一新协议旨在大幅提高再平衡性能,减少消费者组的停机时间和延迟,尤其是在大规模环境中。通过最大限度地减少“停止世界(stop-the-world)”的再平衡,Kafka 旨在提供更稳定、响应更快的数据流体验。在服务器端,新协议默认启用,消费者端则需要通过设置 group.protocol=consumer 进行选用。


在 Hacker News 上的一个讨论 中,一位回复者评论道:


从 SNS/SQS 切换到 Kafka 后,我立即注意到了一件事,那就是它的速度。消息几乎可以立即发送 / 接收。


此外,Kafka 4.0 还提供了 Queues for Kafka(KIP-932)的早期试用。该功能引入了“共享组(share group)”的概念,可以使用常规的 Kafka 主题实现协同消费,从而让 Kafka 可以有效地支持传统的队列语义。虽然不是直接添加“队列”数据结构,但这一增强功能提高了 Kafka 的多功能性,使其适用于更广泛的消息传递用例,特别是那些需要类似于持久共享订阅的点对点消息传递模式的。


在 LinkedIn 上的一篇文章中,IBM 人工智能与数据工程负责人 Govindan Gopalan 总结道:


早期队列支持(KIP-932)引入了点对点消息传递,将 Kafka 的用例扩展到了传统的发布 - 订阅工作流之外。


这一大版本标志着 Kafka 向平台现代化迈出了重要的一步。作为演进的一部分,Kafka 4.0 删除了已废弃 12 个月以上的 API。此外,它还更新了最低 Java 要求,Kafka Clients 和 Kafka Streams 现在需要 Java 11,而 Kafka Brokers、Connect 和 Tools 则需要 Java 17。这一举措旨在鼓励采用较新的 Java 特性,并使 Kafka 与当前其他的技术栈保持一致。该版本还更新了支持的最低客户端和代理版本(KIP-896),并为支持的升级路径定义了新的基线要求,详见 KIP-1124。


原文链接:

https://www.infoq.com/news/2025/04/kafka-4-kraft-architecture/

2025-04-17 08:008937

评论

发布
暂无评论

转载:公司到底怕不怕劳动仲裁?

小江

法律 仲裁

Hoo虎符研究院|Moonbeam主网上线后 “Layer 0”会有哪些改变?

区块链前沿News

Hoo 虎符交易所 虎符研究院 波卡 Moonbeam

[Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作

是Dream呀

2月月更

博云信创云管平台入选工信部推荐解决方案名单,头部券商信创案例获应用示范单项!

BoCloud博云

云服务 信创 云平台

【Python训练营】Python每日一练----第2天:门牌制作

是Dream呀

2月月更

java培训:MyBatis 相关面试题分享

@零度

mybatis JAVA开发

刚出炉的《Java开发手册黄山版》,我帮你们圈出了改动点!

捉虫大师

【C语言】数据类型

謓泽

c 数据类型 2月月更

龙蜥社区一周动态 | 2.07-2.13

OpenAnolis小助手

Linux 开源 社群运营

Linux之watch命令

入门小站

Linux

Serverless 与工具链建设

刘宇

Serverless 工具链

web前端培训: JavaScript 中初始值如何填充数组

@零度

JavaScript 前端开发

使用污点分析检查log4j问题

华为云开发者联盟

Java log4j JNDI 污点分析 信息流分析

从冬奥火炬“飞扬”看我国氢能产业的发展前景

易观分析

SaaS服务的私有化部署,这样做最高效|云效工程师指北

阿里云云效

阿里云 DevOps 云原生 私有化部署 SaaS平台

2022年2月国产数据库排行榜: OceanBase“三连增”重夺探花,GaussDB实现本月最大涨幅引期待

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

如何优雅的处理错误逻辑

蜜糖的代码注释

Java 2月月更 写好代码

加密世界的自由

CECBC

[Python公开课]零基础玩转Python基础篇----第七节:Python中的高级函数

是Dream呀

2月月更

[Python公开课]零基础玩转Python进阶篇----第二节:Python的异常分析及解决

是Dream呀

2月月更

【思特奇杯·云上蓝桥-算法集训营】第2周----真题汇总+思路分享

是Dream呀

2月月更

Linux下玩转nginx系列(二)——nginx配置文件说明

anyRTC开发者

nginx Linux 音视频 WebRTC 服务器

数字经济下,银行线上场景化建设的服务颗粒度、用户忠诚度和生态融合度

CECBC

AI冬奥 | 未来已来?走进元宇宙入口-虚拟数字人

Baihai IDP

人工智能 机器学习 AI 游戏 元宇宙

[Python公开课]零基础玩转Python基础篇----第三节:Python的常用语句

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python基础篇----第五节:Python的列表、元组和字典

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python基础篇----第六节:Python中的函数

是Dream呀

2月月更

NodeJS搭建本地服务指南

编程江湖

node,js

打造爆款游戏互动体验,拍乐云Unity实时语音了解一下

拍乐云Pano

游戏开发 Unity RTC 实时语音

新版本插件解读|如何借助 Forward Auth 增强认证能力

API7.ai 技术团队

开源 网关 认证 Apache APISIX

[Python公开课]零基础玩转Python基础篇----第四节:Python的字符串

是Dream呀

Python 2月月更

Kafka 4.0 采用 KRaft 模式简化架构_架构_Steef-Jan Wiggers_InfoQ精选文章