卡夫卡一个消费者一个分区

时间:2017-03-16 09:23:17

标签: java cassandra apache-kafka kafka-consumer-api kafka-producer-api

我有一个用例,其中我有一个包含100个分区的主题,其中消息在每个分区中都有一些逻辑,我有100个消费者阅读此消息。我想将特定分区映射到特定的使用者。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

查看KafkaConsumer的Javadoc,特别是"手动分区作业"。

TL / DR

您可以按如下方式为消费者手动分配特定分区:

String topic = "foo";
TopicPartition partition0 = new TopicPartition(topic, 0);
TopicPartition partition1 = new TopicPartition(topic, 1);
consumer.assign(Arrays.asList(partition0, partition1));