2017-03-31 61 views
4

卡夫卡高级制片人选举领导人的时间和频率如何? 在发送每封邮件之前或在创建连接时只做一次?卡夫卡领导人选举何时发生?

+0

生产者不选任何一个领导者 - 没有他们的领导者的概念。你能详细说明你的意思吗?尽管经纪人和消费者确实有领导者的概念。 –

+0

生产者必须发布给群集中的经纪人。那么,制作者如何决定将数据推送到哪个kafka实例呢? –

+2

这取决于你写什么主题和分区的日期。每个主题分区都有一个经纪人,而且这个经纪人是它的领导者 - 写作只发生在领导者身上。因此,如果所有写入的分区托管在不同的代理上,生产者可能会写入群集中的所有代理。 –

回答

2

每个经纪人有一个关注的话题(和分区)和他们的领导人将由动物园饲养员被不断更新的列表信息每当新领导人当选或当分区的数量变化。

因此,生成使得对经纪人的一个电话时,其与该信息列表响应。一旦生产者收到这些信息,它会缓存这个信息并用它连接到领导者。所以下一次当它想要将消息发送到特定的主题(和分区)时,它将使用这个缓存的信息。

让我们假设世界上只有一个领袖,没有复制品该主题/分区二人,它被压碎。在这种情况下,它会尝试连接到该领导者,并失败。它会尝试从其它经纪人列表中获取领导者,以检查是否有任何领导者参与此主题!因为它没有找到任何东西,它会尝试击中相同的领导者(即已死亡),并在达到最大重试次数后会抛出异常!