【问题标题】:How to list the messages of a nats jetstream and know if they were acknowledged?如何列出 nats jetstream 的消息并知道它们是否被确认?
【发布时间】:2022-12-20 20:40:14
【问题描述】:
我需要列出在 nats 流中发布的消息,以了解哪些未被识别。
我试图查看 nats 在其文档中建议的 admin api,但它没有指定是否可以这样做。
我还查看了 jetstream library for go,有了这个我可以获得关于流及其消费者的一般信息,但不是未确认的消息,我没有看到任何功能可以满足我的需要。
无论编程语言如何,有人已经这样做了吗?
【问题讨论】:
标签:
go
jetstream
nats.io
nats-streaming-server
【解决方案1】:
致谢与特定的consumer相关联,而不是stream。
您可以从 consumer 信息中得出致谢状态,准确地说,致谢层:
nats consumer info
State:
Last Delivered Message: Consumer sequence: 8 Stream sequence: 158 Last delivery: 13m59s ago
Acknowledgment floor: Consumer sequence: 4 Stream sequence: 154 Last Ack: 13m59s ago
Outstanding Acks: 2 out of maximum 1,000
Redelivered Messages: 0
Unprocessed Messages: 42
Waiting Pulls: 0 of maximum 512
它在 NATS CLI 和大多数客户端库中可用。
无法直接查看已确认消息的列表。