任何人都可以详细介绍Pub / Sub系统实现的动态速率限制吗?我无法找到关于gcloud文档或faq页面的任何细节。
这是我的pubsub用法: 我计划在我们的制作中使用pubsub。现在,我有1个主题,1个订阅和1个订阅者(Webhook HTTPS回调)。有时我的订阅者可以抛出异常(很少),在这种情况下,我的订阅者应该将400响应返回给pubsub,以便pubsub可以保留消息并重试。
如果pubsub从订户那里收到400响应,是否会严重影响其他消息的流量?鉴于关于如何实施流量控制的稀缺文档,我主要关注的是一条不良消息对所有其他好消息的延迟的影响。
我可以将我的一个主题拆分为多个主题和多个订阅,如果它有助于减少错误消息的影响。
答案 0 :(得分:1)
如果您偶尔返回400,则不应对发送给订阅者的邮件速率产生严重影响。当发生400响应时,如Subscriber Guide中所述,允许的未完成消息数量将减少一半。如果您为另一个未完成的消息返回成功,则窗口将立即再次加倍,实际上不会减少允许的未完成消息的数量。
后续消息的消息传递会延迟一个在后续故障中呈指数增长的量,从延迟为O(10 ms)开始。每当返回成功响应时,后续消息不再延迟。因此,来自订阅者的单个400回复本来不会产生任何明显的影响。
答案 1 :(得分:0)
Pub / Sub中的消息将保留,直到消费者确认消息为止。只要消费者不承认它处理了消息,消息就会被保留并重新传递。