我们在不同的主机上有多个kafka消费者。
Consumer-1 (on server-1) consumes data from Topic-1.
Consumer-2 (on server-2) consumes data from Topic-2.
The group.id of Consumer-1 and Consumer-2 are the same.
预计Consumer-1和Consumer-2可以单独运行以处理来自Topic-1和Topic-2的消息。
但是,我们发现有时当我们重新启动Consumer-2(在服务器-2上)时,它会尝试获取有关Topic-1的元数据并最终失败。如果我们再次重新启动它,它可能会获取有关Topic-2的元数据并按预期工作。
我很困惑并找出this page,如果它是正确的,主题重新平衡的关键是(主题:consumer_group_id),为什么它不稳定?
我们正在使用kafka版本0.11.0.1。
答案 0 :(得分:0)
使用手动分区分配Consumer.assign
方法代替subscribe
。使用assign
,您可以更好地控制消费者应从哪个主题分区读取数据。您也可以使用相同的group.id
注意:使用assign
机制,组内不会发生任何重新平衡机制。