2018-07-12-zookeeper+kafka

链接:https://www.jianshu.com/p/8a61bb2a9219

Kafka将元数据信息保存在Zookeeper中,

但是发送给Topic本身的数据是不会发到Zk上的,否则Zk就疯了。

kafka使用zookeeper来实现动态的集群扩展,不需要更改客户端(producer和consumer)的配置

broker会在zookeeper注册并保持相关的元数据(topic,partition信息等)更新

客户端会在zookeeper上注册相关的watcher

一旦zookeeper发生变化,客户端能及时感知并作出相应调整

这样就保证了添加或去除broker时,各broker间仍能自动实现负载均衡。

这里的客户端指的是Kafka的消息生产端(Producer)和消息消费端(Consumer)


Producer端使用zookeeper用来"发现"broker列表,

以及和Topic下每个partition的leader建立socket连接并发送消息。

也就是说每个Topic的partition是由Lead角色的Broker端使用zookeeper来注册broker信息,

以及监测partition leader存活性.


Consumer端使用zookeeper用来注册consumer信息,

其中包括consumer消费partition列表等,

同时也用来发现broker列表,

并和partition leader建立socket连接,并获取消息.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容