首页 > 解决方案 > 容器内的 Firestore 事件侦听器冲突

问题描述

在我的应用程序中,如果发生任何更改,我会让监听器监听 firestore 文档,当应用程序部署到 AWS/OS/GCP 并且 pod 大小大于 1 时会出现问题。如果 pod 大小大于 1,这意味着我有超过 1 个侦听器正在侦听同一个对象,因此当发生更改时,我现在尝试处理这些多个事件更改。

在高层次上,我可以实施什么来确保即使同一个侦听器被并行触发多次(基于活动的 pod 数),也只处理 1 个更改。

标签: google-cloud-platformgoogle-cloud-firestore

解决方案


您当前的架构无法真正轻松避免您遇到的问题。

您应该考虑使用Cloud Functions来触发对文档的更改。 Firestore 触发器只会在每个文档更改时执行一次(除非出现罕见的重复事件,您必须自行删除重复事件),但可以扩展到 1000 个并发服务器实例来处理负载。然后,如果需要,您可以在之后做一些事情来向您的应用程序发出信号。


推荐阅读