我正在实现kafka producer,其中包含一个主题和多个分区。我通过消息中的一个特定值(消息json中的feedname属性值)选择消息到哪个分区。我正在为feedname-partitionidMap维护一个sql表。我的问题是分区id对于leader和replicas是一样的吗?如果不同,如何在所有代理中唯一地标识分区?
q9yhzks01#
分区id是不可变的消息序列。你可以在Kafka的文档中找到同样的内容每个分区都是一个有序的、不可变的消息序列,不断地附加到提交日志中。在您的用例中,您不需要担心id和feedname的Map。希望这有帮助!
e4yzc0pl2#
分区id在代理中是相同的。如果不是的话,会让人很困惑。分区ID在zookeeper中维护,所有代理都可以访问zookeeper。这就是它的用途——所以所有的经纪人对主题和主题都有相同的看法(经纪人也是如此)。
2条答案
按热度按时间q9yhzks01#
分区id是不可变的消息序列。你可以在Kafka的文档中找到同样的内容
每个分区都是一个有序的、不可变的消息序列,不断地附加到提交日志中。
在您的用例中,您不需要担心id和feedname的Map。
希望这有帮助!
e4yzc0pl2#
分区id在代理中是相同的。如果不是的话,会让人很困惑。
分区ID在zookeeper中维护,所有代理都可以访问zookeeper。这就是它的用途——所以所有的经纪人对主题和主题都有相同的看法(经纪人也是如此)。