Kafka High Level Producer 何时以及多久选举一次领导者?
它是在发送每条消息之前执行还是仅在创建连接时执行一次?
每个代理都有有关主题(和分区)及其领导者列表的信息,每当新领导者当选或分区数量发生变化时,动物园管理员都会更新这些信息。
因此,当生产者调用其中一个代理时,它会使用此信息列表进行响应。一旦生产者收到此信息,它就会缓存该信息并使用它来连接到领导者。因此,下次当它想要将消息发送到该特定主题(和分区)时,它将使用此缓存信息。
假设只有一个领导者,并且该主题/分区二人组没有副本,并且它被粉碎了。在这种情况下,它将尝试连接到该领导者,但会失败。它将尝试从已缓存的其他代理列表中获取领导者,以检查是否有该主题的领导者!由于它没有找到任何领导者,它将尝试击中同一个领导者(已死亡),并且在达到最大重试次数后,它将抛出异常!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)