我有一个包含5个分区的主题。 我有5个线程,每个线程创建一个Consumer 所有使用者都使用group.id与同一个使用者组。 我还给每个消费者一个不同且独特的client.id
我看到2个消费者正在阅读相同的消息进行处理 卡夫卡应该处理这件事吗? 我该如何排除故障?
答案 0 :(得分:1)
同一组内的消费者不应收到相同的消息。分区应该分散在所有消费者中,并且Kafka的消费者组逻辑在任何时候都确保只为每个分区分配1个消费者。
例外情况是,如果1个消费者在能够提交其偏移量之前崩溃。在这种情况下,分配了分区的新使用者将从最后提交的偏移量中重新消耗。
您可以使用Kafka附带的使用者群组工具kafka-consumer-groups
来检查分配给群组中每个消费者的分区。