【发布时间】:2020-01-30 19:46:39
【问题描述】:
我想统计过去一小时内的消息数量(过去一小时指的是消息数据中的时间戳字段)。
我目前有一个可以同步计算消息的代码(我正在使用 Google Cloud Pub/Sub Synchronous pull),但我注意到这需要很长时间。
我的代码将按预定义(我将其设置为 100 次以上)的次数重复轮询订阅,这样我就可以确定在最后一小时内没有更多消息乱序了。
这不是一个可接受的设计,因为这意味着用户必须等待 5 到 10 分钟才能让服务在他们想要指标时对消息进行计数!
Pub Sub 设计中是否有解决此类问题的最佳做法?
这似乎是一个很容易解决的问题(计算上一个 X 时间范围内的事件数),所以我认为可能有。
异步设计会有帮助吗?异步设计如何工作?我不太确定 async 和 Python future 概念(我正在使用 GCP Pub/Sub 的 Python 客户端库)。
【问题讨论】:
标签: publish-subscribe google-cloud-pubsub