如何将订阅光标倒回 Pulsar 中的特定时间?
how to rewind a subscription cursor to a specific time in Pulsar?
在文档:https://pulsar.apache.org/docs/en/concepts-clients/中说明了可以从最早或最晚的位置开始消费,也可以指定消息id。能不能支持这个需求,指定一个时间点,从那里开始,比如我现在要迭代昨天12:00到昨天13:00的消息?
是的,您可以将订阅后退到时间偏移。 pulsar-admin persistent reset-cursor
command 的 time
选项会让你这样做:
# bin/pulsar-admin persistent reset-cursor
reset-cursor Reset position for subscription to position closest to timestamp or messageId
Usage: reset-cursor [options] persistent://tenant/namespace/topic
Options:
--messageId, -m
messageId to reset back to (ledgerId:entryId)
* -s, --subscription
Subscription to reset position on
--time, -t
time in minutes to reset back to (or minutes, hours,days,weeks eg:
100m, 3h, 2d, 5w)
您还可以使用 REST 管理 API。
在文档:https://pulsar.apache.org/docs/en/concepts-clients/中说明了可以从最早或最晚的位置开始消费,也可以指定消息id。能不能支持这个需求,指定一个时间点,从那里开始,比如我现在要迭代昨天12:00到昨天13:00的消息?
是的,您可以将订阅后退到时间偏移。 pulsar-admin persistent reset-cursor
command 的 time
选项会让你这样做:
# bin/pulsar-admin persistent reset-cursor
reset-cursor Reset position for subscription to position closest to timestamp or messageId
Usage: reset-cursor [options] persistent://tenant/namespace/topic
Options:
--messageId, -m
messageId to reset back to (ledgerId:entryId)
* -s, --subscription
Subscription to reset position on
--time, -t
time in minutes to reset back to (or minutes, hours,days,weeks eg:
100m, 3h, 2d, 5w)
您还可以使用 REST 管理 API。