使用 Storm 重现消息后在 Kafka 中保持顺序

Keep order in Kafka after reproducing messages by using Storm

我使用 Apache Kafka 作为我的 Storm spout。 我从 Kafka 接收消息,处理这些消息并将它们发送回 Kafka。

我想知道我是否可以让消息保持相同的顺序。即

主题 01:A、B、C -> 风暴 -> 主题 02:A_、B_、C_

我用了一个 spout 和一个 bolt 试图保持顺序,但它不起作用。 我也试过 OpaqueTridentKafkaSpout,但顺序还是变了。

那么有什么办法可以解决这个问题呢? 谢谢。

Kafka 只保证分区内的顺序。如果您在分区 ID 上使用 fieldsGrouping 并将结果写入结果主题的相同分区,则可以在 Storm 中为每个分区保留此顺序。