繁体   English   中英

有没有办法(实时)检索 PubSub 订阅中的消息数?

[英]Is there a way to retrieve the count of messages in a PubSub subscription (in realtime)?

我想实现 PubSub 订阅的批量消费,检索流程开始时订阅中的所有消息。 为此,我使用PubSub 的异步拉取 Javaconsumer.ack()consumer.nack()函数来准确处理我想要的消息数,并使订阅重新传递我已收到但未收到的消息尚未处理。 我的问题是我没有设法找到一种方法来检索订阅中消息的实时计数。

我已经开始从 Google Cloud Monitoring 请求pubsub.googleapis.com/subscription/num_undelivered_messages指标,但不幸的是,该指标有大约 3 分钟的延迟,订阅中未送达消息的实际数量。

有没有办法实时检索此消息计数?

没有办法实时检索消息计数,不。 另请记住,这样的数字不足以检索流程开始时订阅中的所有消息,除非您可以保证不会同时进行任何发布。

如果有发布,那么您的订阅者可以在消息发布之前获得这些消息,除非您使用的是有序消息传递,即使如此,这些传递保证是按排序键进行的,而不是总排序保证。 如果您可以保证在此期间没有发布和/或您只是定期启动订阅者,那么这听起来更像是一个批处理案例,这意味着您可能需要考虑将数据库或 GCS 文件作为替代位置存储消息以供处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM