在Kafka技术专栏中,我们说leader是replicas 中的一个角色, producer 和 consumer 只跟 leader 交互。也就是说,leader 负责处理 partition 的所有读写请求,follower 则负责被动地去复制 leader 上的数据。
那问题是Kafka中的producer和consumer如何知道分区的leader在哪里?
producer和consumer过去直接与Zookeeper连接,以获得这些信息。现在Kafka已经脱离了这种耦合,从0.8版和0.9版开始,客户端直接从Kafka brokers那里获取元数据信息,这些brokers会和Zookeeper进行元数据的同步。
下图形象描述了元数据的同步,以及producer写入message的过程:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!