推送订阅发送多条消息远早于消息确认截止日期

Posted

技术标签:

【中文标题】推送订阅发送多条消息远早于消息确认截止日期【英文标题】:Push subscription send multiple message much earlier than message acknowledgment deadline 【发布时间】:2019-06-23 11:05:21 【问题描述】:

我为 GCS 设置了 Pubsub 通知。 (https://cloud.google.com/storage/docs/pubsub-notifications) 我将 Pubsub 订阅设置为将消息推送到 GAE 端点。 将消息确认截止日期设置为 90 秒。 但是当我尝试在指定存储桶中创建对象时,pubsub 非常迅速地发送了多条消息。(见附件)

Stack driver logging view

重现步骤:

为 GCS 设置 Pubsub 通知(gsutil notification create -t​​ [TOPIC] -f json -e OBJECT_FINALIZE [BUCKET]) 创建指定主题的Pubsub订阅,订阅类型为PUSH,并指定GAE端点的url。 在指定存储桶中创建对象。 在 Stack Driver Logging 上监控日志。

一开始发生的概率很大,但是当尝试次数超过10次时不再发生。

【问题讨论】:

Cloud Pub/Sub 根据收到成功响应的速率动态调整推送请求的速率。 cloud.google.com/pubsub/docs/subscriber @FahadAbid 这是问题的答案。您可以发表您的评论作为答案吗? 【参考方案1】:

Cloud Pub/Sub dynamically 根据收到成功响应的速率调整推送请求的速率。

这意味着只要它没有收到订阅者的确认,它就可以重新尝试发送消息。

【讨论】:

以上是关于推送订阅发送多条消息远早于消息确认截止日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GCP Pub/sub 中修复来自推送订阅的多条消息

GCP 中的确认截止日期、消息保留时间、死信和重试策略

[已解决]Pubsub 推送订阅不确认消息

Google Cloud PubSub 不确认消息

谷歌云平台推送订阅发送重复消息 ID 字段

Google Pub/Sub + Cloud Run 生成多个容器