【问题标题】:In Kafka, if I increase the number of partitions in a topic then will order of messages be broken? (I used a key to partition)在 Kafka 中,如果我增加主题中的分区数量,那么消息的顺序会被破坏吗? (我用一键分区)
【发布时间】:2021-04-07 23:41:32
【问题描述】:

最近,我开始研究 Kafka,并一直在思考如何将它应用到我的服务中。我的一些消息应该按照严格的顺序处理,所以我选择在生产者上使用 key 进行分区。但是,即使我们现在只需要一个分区,我们可能会在不久的将来增加分区的数量。那么,在 Kafka 中,如果我增加一个主题中的分区数量,那么消费者会按顺序获取消息吗?

提前致谢。

【问题讨论】:

  • This 可能会有所帮助。

标签: apache-kafka


【解决方案1】:

如果您增加分区,则无法保证将来相同的键会落在其先前的分区中,因此您将经历一个临时时期,基于主题保留,您将拥有跨越多个分区的键(通过默认)

一种解决方法是确保您已使用所有消息,停止所有客户端与主题交互,然后清空主题并增加计数

或者您可以从增加计数开始,然后继续将所有相等的键分布在多个分区上

【讨论】:

  • 谢谢!我想我会研究你建议的解决方法:)
猜你喜欢
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
相关资源
最近更新 更多