前言
broker是kafka服务端的总称,我们知道,kafka集群是由多个kafka服务实例构成,可以简单理解为每个实例均为一个broker节点,那么对于集群来说,broker是如何工作的呢
可以将Broker 总体工作流程分为下面这几步:
1、在zk中注册brokerid信息;
2、向zk中注册controller,集群中那个kafka实例先注册,谁将成为接下来的“老大”,注意,kafka集群中,每个实例自身都有一个controller,但是需要一个类似leader的controller,负责后续的监听broker的变化;
broker存在的目的在于,监听zk中的ids节点下各个brokerid的变化,比如当监听到某个brokerid从ids节点下移除时,就会做相应的操作
3、controller将节点信息上传到zk,记录着哪台机器的brokerid为本次的controller,比如本次通过节点信息看到,第二个kafka节点为本次的leader controller