具有消息排序功能的 Firebase PubSub 触发器

Firebase PubSub Trigger with Message Ordering

有人知道在使用 Firebase 和 NodeJs 时如何在订阅上启用 Message Ordering 属性 吗?

如果我导航到 GCP 控制台并打开队列的订阅详细信息,我可以手动更改参数,但我宁愿在我的函数部署时完成它。

这个 link (https://cloud.google.com/pubsub/docs/ordering#enabling_message_ordering) 也谈到了一个参数,可以在创建订阅时提供,但似乎不像我通常那样可用 create/deploy 我的函数。

GCP 文档

自己的代码

听起来您是在询问使用 Firebase CLI(而不是 gcloud)部署的 pubsub 函数是否可以请求订购。目前,这是不可能的。当您使用 Firebase CLI 部署 pubsub 函数时,它会自动为您创建 pubsub 主题。但是,没有设置排序设置的选项。

如果您希望看到这个实现,您应该在 Firebase CLI GitHub and/or contact Firebase support directly 上提交功能请求。

或者,您可以切换到使用 gcloud 来 establish the trigger and create its pubsub topic 进行自定义。

您应该注意,启用排序并不一定能确保函数调用对传入消息进行完美序列化。 Cloud Functions 旨在通过根据需要使用多个服务器实例来尽可能快地并行处理传入事件。无法保证 pubsub 消息将按顺序完全处理。该顺序仅适用于在单个进程中运行的 pubsub 主题消费者代码。你可以试试 set the max instances of a function to 1, but that is not a hard guarantee.

如果您需要完全有序地序列化执行某些代码以响应 pubsub 事件,那么 Cloud Functions 可能不是您想要使用的产品。也许单个 App Engine 或 Compute Engine 实例会更好。