【问题标题】:Push subscription send multiple message much earlier than message acknowledgment deadline推送订阅发送多条消息远早于消息确认截止日期
【发布时间】:2026-02-13 05:50:01
【问题描述】:

我为 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 这是问题的答案。您可以发表您的评论作为答案吗?

标签: google-cloud-platform google-cloud-storage google-cloud-pubsub


【解决方案1】:

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

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

【讨论】: