【发布时间】:2020-02-14 19:39:53
【问题描述】:
我有一个 Cloud Pub/Sub Push 订阅,它将相同消息的多个实例推送到一个处理端点 i GAE。我可以跟踪消息 ID,它是多次推送的同一条消息。
我已将 ack-timeout 设置为 600 秒,但它仍然会推送一些消息的多个实例。在消息之外没有得到“确认”,什么会触发这种行为?有人遇到同样的问题吗?
我运行的实例越多,问题似乎就越大,但即使使用 basic_scaling 和 max_instances: 1 问题仍然存在。
我可以在 GAE 中看到一堆 503 错误,但如果我理解正确,这不是问题,因为这些消息会自动“重试”但 Pub/Sub。
【问题讨论】:
-
你能分享代码(或简化版)吗?出了点问题。
-
GAE 中的代码并不重要。事实证明,这是 Pub/Sub 的一个众所周知的问题。 Pub/Sub 是“至少一次交付”,预计会有重复。要解决这个问题,请阅读此处获取灵感,cloud.google.com/blog/products/serverless/…
标签: google-app-engine google-cloud-platform google-cloud-pubsub