Kafka在消费者之间分配来自分区的消息

时间:2015-10-22 15:34:49

标签: apache-kafka kafka-consumer-api

我有一个Kafka主题,目前有3个分区。我希望我的消费者从同一个分区读取,但每个消息应该以循环方式传递给不同的消费者。是否有可能实现这一目标?

2 个答案:

答案 0 :(得分:0)

为此,您必须实现一个使用者组。它与Kafka开箱即用。您只需要为树消费者指定相同的group.id。

[edit]但是,每个消费者都会阅读不同的Kafka分区。我认为如果你只使用Kafka API,那么在同一个分区中读取相同组的差异消费者是不可能的。

请参阅文档中的更多内容:http://kafka.apache.org/documentation.html#intro_consumers

答案 1 :(得分:0)

如何在生产者处根据某些密钥路由消息。可以将消息1路由到分区1,将消息2路由到分区2,将消息3路由到分区3.然后,您应该将一个组中的三个使用者分组。可以使消费者1消耗分区1,消费者2消耗分区2,消费者3消耗分区3。

顺便说一句,如何实现它取决于您使用的是哪个kafka客户端,消息是什么。你应该提供更多细节......