Apache Kafka 中的分区领导者是什么?

2023-12-23

kafka领导者是自己分区还是经纪人? 我最初的理解是它们是充当读/写代理的分区,然后将它们的值传递给 ISR。

然而最近我听到有人提到它们,好像它们发生在“经纪人”级别,因此我很困惑。

我知道还有其他帖子旨在回答这个问题,但那里的答案没有帮助。


这里的一些答案并不完全正确,所以我想澄清一下。

每个分区都有一个分区领导者,负责处理该分区的所有读/写请求。(更新:从 Kafka 2.4.0 开始,允许消费者从副本中读取 https://cwiki.apache.org/confluence/display/KAFKA/KIP-392%3A+Allow+consumers+to+fetch+from+closest+replica)
如果复制因子大于 1,则附加分区复制将充当分区追随者。
Kafka 保证每个分区副本驻留在不同的代理上(无论是领导者还是追随者),因此最大复制因子是集群中代理的数量。

每个分区追随者都从分区领导者读取消息(就像一种消费者),并且不为该分区的任何消费者提供服务(只有分区领导者提供读/写服务)。
如果分区跟随者从分区领导者读取记录时没有滞后并且没有失去与 ZooKeeper 的连接(最大滞后默认值为 10 秒,ZooKeeper 超时为 6 秒,两者都是可配置的),则该分区跟随者被认为是同步的。
如果分区跟随器落后或与 ZooKeeper 失去连接,则它被视为不同步。
当分区领导者因任何原因关闭时(例如代理关闭),其同步分区追随者之一将成为新的领导者。

The Kafka 文档中的复制部分 https://kafka.apache.org/documentation/#replication详细解释了这一点。
Confluence也写了一篇不错的blog https://www.confluent.io/blog/hands-free-kafka-replication-a-lesson-in-operational-simplicity/关于这个话题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Kafka 中的分区领导者是什么? 的相关文章

随机推荐