我们遇到了相同类型的 Kafka 消息的情况,这些消息的顺序略有错误。例如,Kafka 主题有以下消息,每条消息都有一个创建时间戳:
由于消息产生的方式,消息Z在第三位,但根据创建时间戳应该在第二位(在消息Y之前)。错误的顺序仅适用于消息,例如在 1 秒的时间范围内。
我们有一个要求,即 Kafka 消息完全按照时间戳的顺序使用。
一种可能的解决方案是,为了使用消息,将它们短期缓存在某种持久性存储中(足够长的时间可以在上述时间范围内收集所有消息),然后以正确的顺序将它们推送到另一个 Kafka 主题中。
但我想知道,是否会有一种“卡夫卡方式”来做到这一点。一种没有持久存储。可以使用 Kafka 或 Kafka Streams 对消息进行重新排序吗?