如何修改/检查谷歌云运行失败时的重试限制?



我有一个主题,该主题在发布时将事件推送到云运行终结点,并且我在存储桶上获得了一个触发器来发布此主题。云运行中的容器无法处理事件,并且已经重新启动了数百次,我不想在这方面浪费钱。如何限制云运行容器失败时的重试次数?

这个难题的一个可能的答案可能是以下概念。

如果我们阅读此处找到的有关 PUSH 订阅的文档,我们会发现以下内容:

。发布/订阅重试传递,直到消息在 订阅的消息保留期。

这意味着,如果 Pub/Sub 将消息推送到 Cloud Run,而 Cloud Run 没有通过返回 200 响应代码来确认该消息,则该消息将在"消息保留期"内重新推送。 默认情况下,这是 7 天,但根据文档,可以设置为 10 分钟的最小值。 这似乎告诉我,我们可以在重试 10 分钟(最少(后停止有毒消息。

如果消息被推送但未被确认,则不会立即再次推送,而是作为此处描述的退避算法的函数进行推送。

如果我们查看 gcloud 文档,我们会发现参考了最大交付尝试次数的概念 (--max-delivery-attempts(。 与此相关的是一个称为死信主题(--dead-letter-topic(的主题。 这似乎定义了,如果尝试传递 pub sub 消息的次数超过最大次数,则该消息将从与订阅关联的消息队列中删除,并移动到与死信关联的主题。 如果您为您的环境定义此值,那么您的 Cloud Run 将仅执行有限次数,之后,就绪消息将移动到其他位置。

相关内容

最新更新