Zookeeper在Kafka中的作用
-
Kafka 0.9 版本之前,consumer 默认将 offset 保存在 Zookeeper 中
-
从 0.9 版本开始,consumer 默认将 offset 保存在 Kafka 一个内置的 topic 中,该 topic 为__consumer_offsets
1)管理broker与consumer的动态加入与离开。
2)触发负载均衡,当broker或consumer加入或离开时会触发负载均衡算法,使得一个consumer group内的多个consumer的订阅负载平衡。
3)维护消费关系及每个partition的消费信息。
总结:
Kfaka的数据会存储在Zookeeper上,比如集群的broker信息(有哪些borker.id),每个broker的每个topic信息(leader是谁,ISR集合有哪些等),0.9之前消费者的Offset也在Zookeeper上存储,不过0.9之后存在Kafka的topic上了