【问题标题】:Kafka multiple consumer from different partitions来自不同分区的Kafka多个消费者
【发布时间】:2023-03-19 19:34:01
【问题描述】:

我有 4 个分区和 4 个消费者(例如 A、B、C、D)。 如何使用消费者组配置哪个消费者将从哪个分区读取。 我正在使用带有 Spring Boot 的 Kafka。

【问题讨论】:

  • 请提供完整的信息。消费者是否属于同一消费群体?你读过 kafka 分配器类吗?
  • 消费者分为两组,每组有一个消费者。
  • 那么你想确保四个消费者各自获得不同的分区吗?或者您希望每个特定的消费者获得一个特定的预先确定的分区?
  • 看看下面的帖子能不能帮到你。 stackoverflow.com/questions/46492707/…

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


【解决方案1】:

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

您也可以自己分配分区。

使用

public ContainerProperties(TopicPartitionInitialOffset... topicPartitions)

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

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

如果您使用的是@KafkaListener

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多