在 Kafka 中是否可以以反向方式读取消息?
Is it possible in Kafka to read messages in reverse manner?
可以创建一个新的消费者组,其中一个消费者分配给现有的主题,但以某种方式设置偏好向后消费:偏移量将从目前最新的消息移动到每个分区中最早的消息?
Kafka 主题旨在按主题分区内出现的顺序顺序使用。
但是,我看到有两个选项可以解决您的问题:
您可以从主题分区中引导消费者它 poll
的数据,例如:让您的消费者寻找最新的偏移量,然后使用它,然后寻找最新的偏移量减一但只读取一个偏移量。再次寻找以前的偏移量等等。虽然我从未见过它,但这应该可以通过 consumer.seek
和 ConsumerConfiguration max.poll.records
.
您可以使用任何类型的状态存储并按每个分区的偏移量降序排列。然后让另一个消费者按所需顺序读取状态存储。
可以创建一个新的消费者组,其中一个消费者分配给现有的主题,但以某种方式设置偏好向后消费:偏移量将从目前最新的消息移动到每个分区中最早的消息?
Kafka 主题旨在按主题分区内出现的顺序顺序使用。
但是,我看到有两个选项可以解决您的问题:
您可以从主题分区中引导消费者它
poll
的数据,例如:让您的消费者寻找最新的偏移量,然后使用它,然后寻找最新的偏移量减一但只读取一个偏移量。再次寻找以前的偏移量等等。虽然我从未见过它,但这应该可以通过consumer.seek
和 ConsumerConfigurationmax.poll.records
.您可以使用任何类型的状态存储并按每个分区的偏移量降序排列。然后让另一个消费者按所需顺序读取状态存储。