Kafka多个消费者正在倾听多个主题

时间:2018-03-22 11:35:38

标签: java spring apache-kafka kafka-consumer-api spring-kafka

我们正在开发一个应用程序,我们希望在Kafka中收听多个主题。所有主题都有一个分区。所有主题名称都有一个共同的前缀,例如" test-x"," test-y"所以我们可以使用spring topicPattern

我们想编写一个java spring使用者,它使用regexp模式监听所有主题。我们的想法是,我们可以运行同一个消费者的多个实例(属于同一个组),Kafka将为不同的消费者分发来自不同主题的消息。

然而,这似乎无效。即使我们正在运行消费者的多个实例,也只有一个消费者从所有主题获取消息。如果我们在主题中创建多个分区,那么它可以工作,但这是我们赢得的东西。

我们有什么不明白的地方吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

Kafka在消费者群组(具有相同group.id的消费者)中分配主题内的分区。由于您的主题只有分区,因此只有消费者组中的一个消费者会收到该消息。