王炸!Kafka 4.0 重磅发布,Java 8 和 Zookeeper 彻底被抛弃了。。一个时代结束了!

图片来源 | Java技术栈(ID:javastack)

Kafka 4.0 终于来了!

这次更新可不只是常规的版本优化,而是一次重大架构调整,尤其是不再支持 Java 8,彻底移除了 Zookeeper,正式启用 KRaft 模式,让 Kafka 变得更加独立、高效。

除了这个重磅更新外,Kafka 4.0 还砍掉了一些历史包袱,还带来几个重磅新功能,这次升级可谓是大刀阔斧,革新不断,让我们一起看看它的主要变化吧。

Kafka 4.0 主要新特性

1、正式移除 Zookeeper

说到 Kafka 4.0,第一个必须说的就是:Zookeeper,彻底移除了,这绝对是 Kafka 4.0 版本中最最最重磅的变化。

来看看旧模型和新模型的区别:

在 Kafka 早期架构中,Zookeeper 一直和 Kafka 深度绑定,负责保存 Kafka 的元数据、节点状态、选举控制器等核心功能。

虽然 Zookeeper 也是非常主流的分布式中间件,但对于讲究性能的 Kafka 来说越来越成为了累赘,比如 Kafka 需要额外维护一个 Zookeeper 集群,这就增加了管理和维护成本,扩展性也受限,影响性能。

所以 Kafka 前几年就弄出来了KRaft 模式,把 Kafka 的元数据从 Zookeeper 搬到了 Kafka 自己管理的内部系统中。这就相当于 Kafka 自力更生,逐步脱离 Zookeeper 的控制。

KRaft 是 Raft 的一个分支,但有一些不同,它扩展了 Kafka 现有的复制协议,并增加了一些与 Raft 相关的功能。

Kafka 2.8.0 版本已经对 Zookeeper 做了早期替换:

而这次 Kafka 4.0 正式移除 Zookeeper 的所有功能,KRaft 模式全面接管所有功能!

Kafka 4.0 不再支持使用 Zookeeper 模式启动集群,也就是说,从这个版本开始,你就得全面使用 KRaft 模式(Kafka Raft) 来运行 Kafka。

KRaft 带来的好处包括:

  • 部署更简单,启动更快,成本更低 。

  • 消除了单独维护 ZooKeeper 集合的复杂性。

  • 只需保护一个组件,单一、更简单的安全模型。

  • 降低了运营开销,增强了可扩展性并简化了管理任务。

  • 从自身加载数据,性能比从用 ZK 高数 10 倍。

总之,移除 ZK,让 Kafka 更轻、更快、更强、更易维护!

升级 4.0 注意事项:

  • Kafka 4.0 使用的是 KRaft 模式,软件和元数据版本必须至少为 3.3.x。

  • 对于 KRaft 模式早于 3.3.x 的版本,建议先升级到 3.9.x,然后再升级到 4.0.x。

2、移除旧协议 API 版本

Kafka 一直以来都死磕着兼容所有协议 API 版本,这么多年过去了,维护这么多旧版本的成本是越来越高,代码变复杂了,测试也麻烦了,关键是用老版本的人也越来越少,大部分都早换到了支持新协议的客户端。

所以,到了 Kafka 4.0,彻底移除了一些旧协议 API 版本,把协议 API 版本的基准提高到 Kafka 2.1。简单来说就是,仅保留 Kafka 2.1 支持的最新版本及之后推出的新版本。

这样一来,Kafka 4.0 既能摆脱一堆历史包袱,又不会影响太多用户,算是个折中方案。总之,该优化的优化,该淘汰的淘汰,让 Kafka 走得更远、更稳!

升级 4.0 注意事项:

  • 在升级 Kafka brokers 和 Java 客户端之前,应确保为 2.1 或更高版本。

  • 如果不是用的 Kafka 官方的 kafka 客户端,需要自行检查兼容性问题。

3、新一代消费者重平衡协议

Kafka 3.7.0 推出了新一代消费者再平衡协议的早期版本,主要有三个变化:

  • 新的消费者再平衡协议;

  • 全新的组协调器;

  • 全新的消费者线程模型。

新一代消费者重平衡协议,将复杂性从消费者转移到代理内的组协调器,并使用了全新的消费者线程模型。

新协议的优化,在简化客户端同时,能显著减少停机时间和延迟,提高了消费者组的稳定性和性能,尤其是在大规模部署中。

在 Kafka 3.7.0 还不建议生产使用了,Kafka 4.0 正式宣布告别 stop-the-world 重平衡,全面开放下一代消费者重新平衡协议正式可用,

4、Kafka Queues 队列来了

在 Kafka 4.0 版本之前,Kafka 主要采用发布-订阅模式,虽然也可以实现点对点的消息传递,但是存在一些局限性。

Kafka 4.0 引入了  "Queues"  队列功能,使 Kafka 能够直接支持传统队列语义,旨在更直接和高效地使用点对点消息模式,增强其在点对点消息模式下的能力。

如图所示:

Kafka 队列功能主要解决以下问题:

  • 允许多个消费者从同一分区读取数据;

  • 个人记录确认;

  • 仍然保持生产者和消费者分离;

  • 没有最大队列大小;

  • 消息仍然保留

Kafka 队列是通过共享组(Share Groups)来实现的,共享群组允许多个消费者协作消费同一主题的消息,实现类似传统队列的语义。多个消费者可以共同处理同一分区内的消息,提高了消息处理的并行度和效率。

Kafka 队列现在还是早期特性,不建议生产使用,等后面的版本正式可用吧。

5、其他变化

Kafka 4.0 的其他新变化:

  • 删除了至少 12 个月已弃用的 API,以简化平台并鼓励采用新功能;

  • 完全弃用 Java 8,Kafka 客户端和 Kafka Streams 需要 Java 11,Kafka Brokers、Connect、工具需要 Java 17;

  • 为支持升级路径,定义了新的基准要求;

  • ......

更多可参考官方发布说明。

总结

Kafka 4.0 版本的更新,标志着 Kafka 正式迈入了一个全新的阶段。

从完全弃用 Java 8,再从移除 Zookeeper 到全面启用 KRaft,Kafka 变得更轻、更快、更强、更易维护。

还有旧协议版本的清理、新的消费者重平衡协议、队列功能的引入等一系列优化,让 Kafka 进一步提升了可扩展性和性能,同时降低了维护成本。

不过,升级到 Kafka 4.0 也需要谨慎对待,特别是 Zookeeper 模式已经被完全移除,老版本的用户需要逐步过渡到 KRaft 模式。

同时,部分旧协议 API 也已被砍掉,所以在升级前一定要检查兼容性,确保你的系统不会受到影响。

总之,Kafka 4.0 是一次里程碑式的升级,无论是新的架构调整还是性能优化,都让 Kafka 这个小钢炮又上了一个新的台阶,太强了。

参考链接:

  • https://kafka.apache.org/blog

  • https://x.com/BdKozlovski/status/1891139227599183920

  • https://x.com/BdKozlovski/status/1658923666103468033

图片

  推荐阅读:

  • 2025 年 03 月编程语言排行榜|老古董语言强势回归,原因是相关开发人员退休了~

  • 微软发明了世界上最流行的编程语言!

  • 快手今年的年终奖。。。

  • Java 24 正式发布,超神了。。。

  • 为什么大厂宁愿用go也不用.net,连微软的TypeScript转译器都用了Go?

  • (0)
    wd123_cnwd123_cn
    上一篇 2025年3月26日 上午10:49
    下一篇 2025年3月26日 上午10:50

    相关文章

    • 烘焙疗愈:15款治愈系甜点,助你摆脱坏心情

      当你感到压力巨大或者心情糟糕时,第一反应是不是想冲进厨房,埋头于各种烘焙项目?揉搓着蓬松的酵母面团,制作并分装好几批饼干面团冷冻起来,沉浸在富有禅意的千层酥皮制作过程中……烘焙当然不能解决你所有的问题,但它绝对是最令人愉悦、最有成就感(更不用说美味!)的方式来转移注意力。以下是15个烘焙项目,包括柔软的肉桂卷、黄油味十足的布里欧面包和非常美味的巧克力曲奇,当…

      2025年3月21日
    • 多莉·帕顿合作萨布丽娜·卡彭特新歌:我可不骂人!

      乡村音乐传奇人物多莉·帕顿(Dolly Parton)与流行歌手萨布丽娜·卡彭特(Sabrina Carpenter)合作混音版的歌曲“Please, Please, Please”,但这次合作并非毫无条件。帕顿明确表示,她有自己的底线。 帕顿的“不骂人”原则 在3月18日发布的Knox News采访中,帕顿对卡彭特赞赏有加,但她也指出,这位年轻的歌手“偶尔…

      2025年3月21日
    • 《熊家餐厅》女星Ayo Edebiri公开怒斥马斯克,称其散布谣言导致死亡威胁

      因出演热门剧集《熊家餐厅》(The Bear)而备受瞩目的女星Ayo Edebiri,近日在社交媒体上公开怒斥特斯拉CEO埃隆·马斯克,指责他散布关于她的虚假谣言,导致她收到了大量的死亡威胁和种族歧视言论。 事件起因:马斯克散布“加勒比海盗”选角谣言 事情的起因要追溯到2024年2月。当时,马斯克在社交平台X(原Twitter)上转发了一篇帖子,声称Ayo …

      2025年3月13日
    • UConn再度冲击Big East锦标赛冠军,迎战Creighton

      UConn延续强势,剑指Big East锦标赛冠军 自2020年从美国运动联盟(AAC)重返Big East以来,康涅狄格大学(UConn)女篮从未缺席过Big East锦标赛的冠军争夺战。本赛季,排名全美第三的UConn女篮将连续第五次冲击Big East锦标赛冠军,对手是排名第23的克赖顿大学(Creighton)。 UConn赛季表现亮眼,保持不败 U…

      2025年3月10日
    • AI助力量子物理学家发现更简单的量子纠缠方法

      量子纠缠是量子力学实际应用的基石,而一项新研究发现,借助最初用于研究纠缠交换的AI工具,科学家们找到了一种更简便的方法来建立纠缠光子。这种方法有望改进量子力学的现有应用,包括新兴的量子互联网。 AI工具助力量子物理学研究 在《物理评论快报》上发表的一篇新论文中,来自中国南京大学和德国马克斯·普朗克研究所的科学家们详细描述了他们如何偶然发现了一种更简单的实现量…

      2025年3月7日
    • 坎耶·韦斯特再陷争议:发布反犹、恐同言论,并指控卡戴珊家族涉嫌性交易

      近年来,美国说唱歌手坎耶·韦斯特(Kanye West)多次发表反犹太言论,引发广泛争议。近日,他又在社交媒体X平台上发布了一系列带有反犹太主义和恐同色彩的帖子,再次将其推上了舆论的风口浪尖。 指控卡戴珊家族性交易儿童 3月19日,坎耶·韦斯特声称金·卡戴珊(Kim Kardashian)及其家族涉嫌进行儿童性交易。他将矛头指向了卡戴珊的女儿诺斯(North…

      2025年3月21日