如何将订阅光标倒回 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 commandtime 选项会让你这样做:

# 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。