如何增加Kafka主题的分区数量

时间:2018-02-01 09:01:54

标签: java spring apache-kafka

我正在使用Kafka Spring为kafka主题创建一些监听器。应用程序启动时会自动创建主题。

这就是听众的样子:

  @KafkaListener(topics = "${kafka.topics.message.readFormatForMessageFromProfile.in}")

问题是我想将分区数增加到3,我不知道如何做到这一点。

2 个答案:

答案 0 :(得分:1)

您可以使用topicPartitions注释的@KafkaListner属性。

@KafkaListener(id = "someId",
        topicPartitions =
            {
                @TopicPartition(topic = "${kafka.topics.message.readFormatForMessageFromProfile.in}",
                partitionOffsets = @PartitionOffset(partition = "0", initialOffset = "0"))})

您可以添加多个@TopicPartition

答案 1 :(得分:0)

我不是Kafka Spring的专家,但我知道使用官方Admin Client API可以做到这一点。顺便提一下,我在Kafka Spring文档中看到以下内容:

https://docs.spring.io/spring-kafka/reference/htmlsingle/#_configuring_topics

阅读本说明:

  

如果代理支持它(1.0.0或更高版本),如果发现现有主题的分区少于NewTopic.numPartitions,则管理员将增加分区数。