Kafka来自不同分区的多个使用者

时间:2019-02-04 08:32:53

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

我有4个分区和4个使用者(例如A,B,C,D)。 如何配置使用使用者组的哪个使用者将从哪个分区读取。 我在春季启动时使用Kafka。

1 个答案:

答案 0 :(得分:1)

默认情况下,kafka将自动分配分区;如果您在同一组中有4个消费者,则最终他们将各自获得一个分区。有一些属性可以配置kafka,这样在您启动消费者时就不会立即进行分配。

您也可以自己分配分区。

使用

public ContainerProperties(TopicPartitionInitialOffset... topicPartitions)

如果您自己构建容器,或者

@KafkaListener(id = "baz", topicPartitions = @TopicPartition(topic = "${topic}",
            partitions = "${partition}"))

如果您使用的是@KafkaListener