【发布时间】:2017-03-16 17:59:50
【问题描述】:
我有一个用例,我有一个包含 100 个分区的主题,其中消息以某种逻辑进入每个分区,并且我有 100 个消费者阅读此消息。我想将特定分区映射到特定消费者。我怎样才能做到这一点?
【问题讨论】:
标签: java cassandra apache-kafka kafka-consumer-api kafka-producer-api
我有一个用例,我有一个包含 100 个分区的主题,其中消息以某种逻辑进入每个分区,并且我有 100 个消费者阅读此消息。我想将特定分区映射到特定消费者。我怎样才能做到这一点?
【问题讨论】:
标签: java cassandra apache-kafka kafka-consumer-api kafka-producer-api
查看 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));
【讨论】: