如何在 Pulsar 中将订阅光标倒回到特定时间?

Xia*_*ang 3 apache-pulsar

在文档中: https: //pulsar.apache.org/docs/en/concepts-clients/,它解释了您可以从最早或最晚的位置启动消费者,也可以指定消息id。能否支持这样的需求,即指定一个时间点并从那里开始,比如现在我想迭代昨天12:00到昨天13:00的消息?

小智 5

是的,您可以将订阅倒回到某个时间偏移量。该命令time的选项可以让您执行此操作:pulsar-admin persistent reset-cursor

# 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)
Run Code Online (Sandbox Code Playgroud)

您还可以使用 REST 管理 API。