【问题标题】:Kafka partition rebalancing in spring for kafka卡夫卡春季卡夫卡分区再平衡
【发布时间】:2022-01-18 01:02:25
【问题描述】:

我有一个使用 @KafkaListener 为 Kafka 消费者使用 spring 的微服务 带有一些组 ID。此应用程序部署到云中,具有不同区域的两个实例。

所以现在我认为分区在两个消费者之间划分,因为他们都有相同的组 ID。

是否有任何可能的方法将所有分区分配给单个实例。我不想分区重新平衡。

如何在 spring kafka 应用程序中使用 ConsumerRebalanceListener 创建自定义偏移量?

【问题讨论】:

  • 如果您能提供一个最小的可重现示例,它会帮助其他人帮助您。
  • 不可能在消费者之间划分单个分区。但是如果所有分区都只被一个实例读取,那么第二个实例的目的是什么?

标签: java spring-boot apache-kafka spring-kafka


【解决方案1】:

您应该能够将消费者的partition.assignment.strategy 属性设置为org.apache.kafka.clients.consumer.StickyAssignor

它的目标是

保证分配最大程度地平衡,同时保留尽可能多的现有分区分配。

我个人没有使用过它,但如果我正确理解它的目的,如果您在同一组中启动另一个消费者,那么在第一个消费者死亡之前不会再平衡。

【讨论】:

    猜你喜欢
    • 2018-01-15
    • 2015-06-18
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多