(每一个topic都有对应partition个leader,即是topic有多个broker作为leader)
(controller和coordinater都是对应topic的broker级别)
生产过程:
kafka中有controller角色负责:
i个partition放到i mod n上,同时作为leader
同时监控zk上面的broker/ids目录,broker宕机之后在zk上面的ISR队列中选择第一个作为新的leader。同时通知位于宕机broker作为leader的其他副本partition。
消费过程:
选出一个coordinater,在topic中__consumers_offsets
对应的groupid_topic_partition(key)在哪一个patition上面,该partition的leader就是对应该topic的leader,负责消费组级别的offset记录并且负责消费者消费分区的再分配。
网友评论