假设我有两个消费者-c1和c2在一个消费者组中。在c1和c2出现之前,一个主题有10条信息。c1读取前5条消息并下降,而c2读取消息9-10。c1过了一段时间就回来了。现在,kafka如何识别刚刚出现的消费者确实是c1,并且它允许它读取上次提交的报价,它是否在c1之前在组中注册时保存了一些信息,以便它在再次出现时能够唯一地识别c1?
q8l4jmvw1#
偏移量不绑定到实际的kafka使用者示例,而是绑定到使用者组。更准确地说,每个使用者组的每个主题/分区的提交偏移量存储在 __consumer_offsets 主题(这是一个压缩的主题,因此只保留最新的偏移量)。在您的示例中,一旦使用者c1启动并再次运行,它通常会开始使用使用者所属使用者组的最新提交偏移量中的数据(但这取决于配置—您可以强制它从头开始)。在您的情况下,c1将从第11条消息开始使用消息。
__consumer_offsets
1条答案
按热度按时间q8l4jmvw1#
偏移量不绑定到实际的kafka使用者示例,而是绑定到使用者组。更准确地说,每个使用者组的每个主题/分区的提交偏移量存储在
__consumer_offsets
主题(这是一个压缩的主题,因此只保留最新的偏移量)。在您的示例中,一旦使用者c1启动并再次运行,它通常会开始使用使用者所属使用者组的最新提交偏移量中的数据(但这取决于配置—您可以强制它从头开始)。在您的情况下,c1将从第11条消息开始使用消息。