ZooKeeper 不行了?居然被 Kafka 抛弃了!

Kafka 的未来:为何我们要抛弃 ZooKeeper? 为此,Kafka 引入了位移主题(如 “__consumer_offsets”),将位移的提交和获取作为消息处理,存储在日志中,从而避免了频繁访问 ZooKeeper 的性能问题。因此,元数据的存储和之前的位移存储一样,通过现有的消息存储机制进行了一些改造,实现了所需功能,非常巧妙!而在控制器集群(Controller Quorum)中,领导者的选举和切换过程就快得多,因为元数据已经在集群中同步,即集群中的所有 Broker 都已经拥有完整的元数据,无需重新加载。一、ZooKeeper 的核心功能。 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:Java指南者


图片

Kafka 2.8 版本

分布式发布与订阅系统Apache Kafka在即将发布的2.8版本,使用Kafka内部的Quorum控制器来取代ZooKeeper。

因此,用户第一次可在完全不需要ZooKeeper的情况下执行Kafka,这不只节省运算资源,并且也使得Kafka效能更好,还可支持规模更大的集群。

过去Apache ZooKeeper是Kafka这类分布式系统的关键,ZooKeeper扮演协调代理的角色,所有代理服务器启动时,都会连接到Zookeeper进行注册。

当代理状态发生变化时,Zookeeper也会储存这些数据,在过去,ZooKeeper是一个强大的工具,但是毕竟ZooKeeper是一个独立的软件,使得Kafka整个系统变得复杂,因此官方决定使用内部Quorum控制器来取代ZooKeeper。

KRaft:Kafka 的 Raft

这项工作从去年4月开始,而现在这项工作取得部分成果,用户将可以在2.8版本,在没有ZooKeeper的情况下执行Kafka,官方称这项功能为Kafka Raft元数据模式(KRaft)。

在KRaft模式,过去由Kafka控制器和ZooKeeper所操作的元数据,将合并到这个新的Quorum控制器,并且在Kafka集群内部执行。

当然,如果使用者有特殊使用情境,Quorum控制器也可以在专用的硬件上执行。

图片

KRaft协定使用事件驱动机制来追踪整个集群的元数据,过去必须依赖RPC来处理的任务,现在受益于事件驱动以及实际的日志传输,这些改变所带来的好处,便是让Kafka仍够支持更多的分割。

移除 ZooKeeper 的收益

过去Kafka因为带着ZooKeeper,因此被认为拥有笨重的基础设施。

而在移除ZooKeeper之后,Kafka更轻巧更适用于小规模工作负载,轻量级单体程序适合用于边缘以及轻量级硬件解决方案。

注意事项

值得注意的是,在抢先体验版中,有部分像是ACL、安全以及交易等功能都尚未支持,而且在KRaft模式下,也还不支持重新分配分割和JBOD,官方提到,这些功能会在今年稍晚的版本中提供,由于很多功能处于测试阶段,不建议大家将其用于生产环境中。

对了,如果胖友还没入门过 Kafka 的话,可以看看艿艿写的三篇教程:

  • 《芋道 Kafka 极简入门》:http://www.iocoder.cn/Kafka/install/?nb

  • 《芋道 Spring Boot 分布式消息队列 Kafka 入门》:http://www.iocoder.cn/Spring-Boot/Kafka/?nb

  • 《芋道 Spring Cloud 消息队列 Kafka 入门》:http://www.iocoder.cn/Spring-Cloud/Kafka/?nb

  • 《芋道 Spring Cloud 事件总线 Bus Kafka 入门》:http://www.iocoder.cn/Spring-Cloud/Bus-Kafka/?nb



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
【OpenAI】Python:(1) 基于 Gym-CarRacing 的自动驾驶项目 | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现 本篇是关于多伦多大学自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车在赛道上行驶的物理过程。由于内容比较多所以分多次更新,本篇是关于前置知识介绍,以及项目环境准备的。 阅读详情

相关推荐

Unity跨平台存储避坑指南:persistentDataPath权限真相

Application.persistentDataPath是Unity中用于持久化数据的核心路径,表面提供跨平台抽象,实则底层访问机制因操作系统而异。其原理并非简单路径映射,而是受Android Scoped Storage、iOS Data Protection、Windows组策略及macOS隐私权限等多层安全模型动态约束。技术价值在于保障用户数据长期可靠存储,但若忽略平台差异,极易引发‘本地正常、真机崩溃’‘iOS可存、Android报错’等线上事故。典型应用场景包括游戏存档、离线缓存、自定义资源包

weixin_32073537的博客 352

曾经人见人爱花见花开的zookeeper为啥突然不香了呢

zookeeper是何方神圣 zookeeper(简称zk),顾名思义,为动物园管理员的意思,在Hadoop生态体系这个动物园里,他确实管理着诸如Hadoop(大象),HBase(鲸鱼)等动物;甚至很多动物园之外的用户也在依赖他(如Storm,Kafka)。在分布式场景中,zk的应用非常广泛,如:数据发布/订阅、命名服务、配置中心、分布式锁、集群管理、选主与服务发现等等。下面通过一个故事来说明zookeeper到底是怎么发迹起来以及如何管理其他”动物“的 zookeeper的封神之...

microGP的专栏 1466

基于MySQL的京东用户行为分析

对京东用户行为的分析,利用AARRR模型进行分析。

SelenaSelena的博客 1911

clickhouse优化使用clickhouse-keeper替代zookeeper

ClickHouse Keeper 是 ZooKeeper 的替代品,与 ZooKeeper 不同,ClickHouse Keeper 是用 C++ 编写的,并使用 RAFT 算法实现,该算法允许对读写具有线性化能力。 clikhouse-keeper目的在于替换zookeeper,使用clickhouse后,服务器性能,提升了一大截,只需要在配置zookeeper的地方,改成clickhouse-keeper即可。 ClickHouse keeper相对zookeeper来说性能更好,维护更方便。

robinhunan的博客 3095

银河麒麟服务器(ky10 server)arm、x86安装qemu虚拟机

接下来就可以新建服务器了。

zengliguang的专栏 8714

保姆级教程:在RK3588开发板上用MPP库实现H.264硬编码(附完整代码)

本文详细介绍了在RK3588开发板上使用MPP库实现H.264硬编码的全流程,包括环境准备、MPP库编译、编码器初始化与配置、数据输入与编码流程以及高级性能优化技巧。通过实战案例和完整代码,帮助开发者充分利用RK3588的VPU硬件加速能力,提升视频编码效率和质量。

weixin_28716769的博客 414

从ZooKeeper切换到ClickHouse-Keeper,藏着怎样的秘密

本文字数:7772;估计阅读时间:20 分钟作者:博睿数据 李骅宸(太道)& 小叮当本文在公众号【ClickHouseInc】首发Bonree ONE是博睿数据公司发布的一体化智能可观测平台。平台所有信号数据迁移到ClickHouse集群后,随着数据量的增长,对ZooKeeper的性能和稳定性要求也越来越高。ZooKeeper是一个开源的分布式协调组件,用于分布式系统之间的协调作用。但我们在使用中也遇到了一些痛点,如果不及时处理会影响到业务。

ClickHouseDB的博客 3695

如何使用 ABAP 代码调度一个 ABAP 程序,让其以后台作业的方式运行

笔者之前的教程,介绍了如何使用 SM36 一系列事务码,将一个 ABAP 程序,调度成以后台作业方式运行的详细步骤。 38. 如何让 ABAP 报表在后台作业的模式下运行 大家如果照着上述文章的步骤走一遍,会发现这些手动执行的步骤还是有些繁琐的。 有没有可能让这一切都自动化起来,即通过 ABAP 代码去完成呢?当然可以。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1945

ZooKeeper的作用、应用场景和替代品

ZooKeeper 我想大家应该都略有耳闻,可能你在开发中没有直接使用过,但常用的 Hadoop、HBase、Kafka、Dubbo 等都有使用到 ZooKeeper。那 ZooKeeper 到底起到了什么样的作用,为什么这些框架、系统需要使用 ZooKeeper呢,我们在开发过程中应该如何使用 ZooKeeper,又是否有 ZooKeeper的替代品呢。本文将围绕以上问题,从以下三方面说起: ...

qq_39581763的博客 1261

Atlas 300I Duo - vllm部署Qwen3-VL-8B-Instruct

本文介绍了在Ascend NPU环境下部署Qwen3-VL-8B大语言模型的步骤。主要包括:1)安装驱动、docker和vllm镜像;2)创建特权容器并挂载设备与目录;3)进入容器安装指定版本的transformers;4)设置环境变量和NPU卡配置;5)启动vllm服务;6)测试API接口。部署过程涉及多块NPU卡的使用,需注意内存碎片化问题,最终通过vllm框架提供模型推理服务。

m0_50105717的博客 1563

MuJoCo 入门教程(八)Model仓库

一个物理仿真器的好坏取决于它所仿真的模型,而在像 MuJoCo 这样功能强大、建模选项众多的仿真器中,很容易创建出行为与预期不符的 "坏 "模型。MuJoCo Menagerie 的目标是为社区提供一个设计精良、开箱即用的模型集。更多信息,请访问 Menagerie 资源库。

机器人控制与仿真应用 1940

Kafka - Kafka 为啥抛弃 Zookeeper?

Kafka - Kafka 为啥抛弃 Zookeeper?

1651

2026 年第十六届MathorCup数学应用挑战赛题目C题中老年人群高血脂症的风险预警及干预方案优化 2026妈妈杯 详细思路、代码、模型

2026 年第十六届MathorCup数学应用挑战赛题目 C题中老年人群高血脂症的风险预警及干预方案优化 人口老龄化进程的持续加快,使得40岁及以上中老年人群成为 慢性病防控的核心群体,其中高血脂症的发病率呈逐年攀升态势, 已成为诱发冠心病、脑梗死等心脑血管疾病的重要危险因素,严重 威胁中老年群体的心血管健康与生活质量,也加重了基层医疗的慢 病管理负担。从中医体质学视角来看,体质禀赋与偏颇是疾病发生 发展的内在根基,其中痰湿体质为中老年高血脂症的高发体质类型, 该体质人群存在痰湿内蕴、脾胃运化失常、水湿代谢

YOLO 756

Kafka 为什么要抛弃 Zookeeper?

本文,我们分析了为什么 Kafka 要移除 ZooKeeper,主要原因有两个:ZooKeeper不能满足 Kafka的发展以及 Kafka想创建自己的生态。在面临越来越复杂的数据流处理需求时,KRaft 模式为 Kafka 提供了一种更高效、简洁的架构方案。不论结局如何,Kafka 和 ZooKeeper曾经也度过了一段美好的蜜月期,祝福 Kafka 在 KRaft模式越来越强大,为使用者带来更好的体验。

weixin_74412978的博客 1836

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Kafka为什么抛弃ZooKeeper?深度解析KRaft时代的技术变革

KRaft(Kafka Raft)是Kafka基于Raft共识算法实现的内置元数据管理机制。它将原本存储在ZooKeeper中的元数据(主题、分区、ISR、配置等)迁移到Kafka自身的一个特殊日志主题中。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;KRaft架构(Kafka 4.0+)拉取元数据拉取元数据拉取元数据控制器仲裁。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2872

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Kafka 为什么Kafka 为什么要抛弃 Zookeeper?要抛弃 Zookeeper?

本文,我们分析了为什么 Kafka 要移除 ZooKeeper,主要原因有两个:ZooKeeper不能满足 Kafka的发展以及 Kafka想创建自己的生态。在面临越来越复杂的数据流处理需求时,KRaft 模式为 Kafka 提供了一种更高效、简洁的架构方案。不论结局如何,Kafka 和 ZooKeeper曾经也度过了一段美好的蜜月期,祝福 Kafka 在 KRaft模式越来越强大,为使用者带来更好的体验。

2401_87705025的博客 1277

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Kafka为啥抛弃ZooKeeper?

点击下方“JavaEdge”,选择“设为星标”第一时间关注技术干货!免责声明~任何文章不要过度深思!万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」Ka...

JavaEdge全是干货的技术号 964

kafka为什么抛弃zookeeper

如果 ZooKeeper 集群的某个节点的数据发生变更,则会通知其它 ZooKeeper 节点同时执行更新,就得等着大家(超过半数)都写完了才行,这写入的性能就比较差了。当 Controller 变更的时候,需要重新加载所有的元数据到新的 Controller 身上,并且需要把这些元数据同步给集群内的所有 Broker。特别适合存储一些公共的配置信息、集群的一些元数据等等。存储系统了吧,一般而言,ZooKeeper 只适用于存储一些简单的配置或者是集群的元数据,不是真正意义上的存储系统。

justlpf的专栏 2462

Kafka抛弃Zookeeper后如何启动?

Kafka在之前的版本中,如果没有ZooKeeper,Kafka将无法运行。 Kafka在在发布的2.8版本里,让用户可在完全不需要ZooKeeper的情况下运行Kafka。

f_yuqing的博客 6753

ZooKeeper 用的好好地,Kafka 为什么要抛弃 ZooKeeper?

可能看到这里有人会说,那为何一开始不这么实现?因为 ZooKeeper 是一个功能强大且经过验证的工具,在早期利用它来实现一些功能,多简单哟,都不需要自己实现。要不是 ZooKeeper 的机制导致了这个瓶颈,也不可能会有这个改造的。软件就是这样,没必要重复造轮子,合适就好。参考资料:

LoveSummer 4万+

Kafka为什么要抛弃ZooKeeper

在上个月 30 号, confluent 发布了一篇文章,文章上说在 Kafka 2.8 版本上将支持内部的 quorum 服务来替换 ZooKeeper 的工作。 ZooKeeper 的作用 ZooKeeper 是一个开源的分布式协调服务框架,你也可以认为它是一个可以保证一致性的分布式(小量)存储系统。特别适合存储一些公共的配置信息、集群的一些元数据等等。 它有持久节点和临时节点,而临时节点这个玩意再配合 Watcher 机制就很有用。 当创建临时节点的客户端与 ZooKeeper 断连.

weixin_42073629的博客 2278

后端面试必备:Kafka为什么要抛弃Zookeeper?深入解析架构演进之路

Apache Kafka作为当今最流行的分布式消息系统之一,其架构设计一直在不断演进。其中最重大的改变之一就是从依赖ZooKeeper转向自管理的元数据架构。本文将深入探讨Kafka为什么要做出这一改变,分析其中的技术考量,并通过流程图帮助理解这一架构变迁。

qq_58299462的博客 926

Kafka抛弃Zookeeper的内幕:从依赖到自立的技术革命

ZooKeeper在Hadoop/HBase生态仍不可替代,但Kafka的“独立宣言”是否预示中间件去中心化浪潮?欢迎评论区探讨!👇。

全栈开发工程师 2137

Kafka抛弃ZooKeeper原因

KRaft 是 Kafka 内置的元数据共识协议,基于 Raft 算法 实现,完全替代 ZooKeeper 管理集群元数据(如 Broker 注册、分区 Leader 信息、配置等)。它将 Kafka 从一个依赖外部协调服务的系统,升级为自包含的分布式系统。

weixin_45857153的博客 695

转:kafka为什么抛弃zookeeper

kafka zookeeper

guochaoHNU的博客 1845

抛弃zookeeper的Kafka集群,看这一篇就可以了

本地安装测试:三台主机:192.168.10.110,192.168.10.120,192.168.10.130。

虚构规律,寰宇笑谈 2631
上一篇: 在 SpringBoot 项目中,Spring Security 和 Shiro 该如何选择?
下一篇: SQL 子查询怎么优化?写的很深!
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值