【问题标题】:Can i lose messages if I have more partitions than consumers?如果我的分区比消费者多,我会丢失消息吗?
【发布时间】:2017-10-30 00:27:00
【问题描述】:

我正在使用storm-kafka api从具有3个副本和70个分区的kafka主题中读取消息,我正在使用的kafka spout有15个执行程序,因为我没有70个执行程序,所以可能会丢失消息执行者?

如何确保 kafka 中的所有消息都被消费者接收到?

谢谢

【问题讨论】:

    标签: apache-kafka apache-storm kafka-consumer-api


    【解决方案1】:

    默认情况下,Kafka 为您已经知道已发送到 Kafka 的数据提供至少一次交付保证。如果您的消费者实例少于消费者组的分区,则将根据您的分区分配策略为消费者分配多个分区。默认情况下,它使用 RangeAssignor。您可以阅读有关 Kafka here 的交付语义的更多信息。

    【讨论】:

      猜你喜欢
      • 2018-11-04
      • 1970-01-01
      • 2019-07-12
      • 2021-01-26
      • 2017-04-15
      • 1970-01-01
      • 2019-08-27
      • 2016-06-12
      • 2022-06-13
      相关资源
      最近更新 更多