Kafka 一个消费者一个partition

Kafka one consumer one partition

我有一个用例,其中我有一个包含 100 个分区的主题,其中消息以某种逻辑进入每个分区,并且我有 100 个阅读此消息的消费者。我想将特定分区映射到特定消费者。我怎样才能做到这一点?

检查 KafkaConsumer 的 Javadoc,特别是 "Manual Partition Assignment".

部分

TL/DR

您可以手动将特定分区分配给消费者,如下所示:

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