具有 Cloud pubsub 的 Cloud Functions 触发消息排队

Posted

技术标签:

【中文标题】具有 Cloud pubsub 的 Cloud Functions 触发消息排队【英文标题】:Cloud Functions with Cloud pubsub trigger queuing the messages 【发布时间】:2021-09-01 15:53:39 【问题描述】:

我们有一个带有 Pubsub 触发器的 Cloud Functions,它将根据消息调用 HTTP 端点上的应用程序。当我们需要更新后端应用程序时,我们希望 Cloud Functions 暂停消息并将消息排队,然后在应用程序启动时重新启动。

目前,我们正在 Stackdriver 中记录所有失败的消息,并在发布后重新提交。有没有更好的方法来做到这一点?

【问题讨论】:

【参考方案1】:

您的系统必须能够应对中断(在您执行更新或意外中断时由您管理)。因此,我建议您以相同的方式处理两者。

在部署 Cloud Functions(后台函数,与 PubSub 主题绑定)时设置重试参数。当您的 Cloud Functions 无法处理消息(应用程序不可用)时,会引发错误。稍后将重试该消息。

这样,你就不用担心了。当消息可以传递时,它是,当它不能传递时,出现错误并重试消息。

【讨论】:

以上是关于具有 Cloud pubsub 的 Cloud Functions 触发消息排队的主要内容,如果未能解决你的问题,请参考以下文章

来自 PubSub 主题的 Google Cloud 函数触发器是订阅吗

Cloud PubSub 重复消息触发的 Cloud Functions

使用 Google Cloud PubSub 不断收到“向 Cloud PubSub 发送测试消息时出错...”

Google Cloud Function - ImportError:无法从“google.cloud”(未知位置)导入名称“pubsub”

如何使用 Google PubSub 确认 (@google-cloud/pubsub)

如何在 Google.Cloud.PubSub.V1 SubscriberServiceApiClientBuilder 中配置频道选项