在 Kafka 中是否可以以反向方式读取消息?

Is it possible in Kafka to read messages in reverse manner?

可以创建一个新的消费者组,其中一个消费者分配给现有的主题,但以某种方式设置偏好向后消费:偏移量将从目前最新的消息移动到每个分区中最早的消息?

Kafka 主题旨在按主题分区内出现的顺序顺序使用。

但是,我看到有两个选项可以解决您的问题:

  • 您可以从主题分区中引导消费者它 poll 的数据,例如:让您的消费者寻找最新的偏移量,然后使用它,然后寻找最新的偏移量减一但只读取一个偏移量。再次寻找以前的偏移量等等。虽然我从未见过它,但这应该可以通过 consumer.seek 和 ConsumerConfiguration max.poll.records.

  • 您可以使用任何类型的状态存储并按每个分区的偏移量降序排列。然后让另一个消费者按所需顺序读取状态存储。