google-cloud-platform - 容器内的 Firestore 事件侦听器冲突
问题描述
在我的应用程序中,如果发生任何更改,我会让监听器监听 firestore 文档,当应用程序部署到 AWS/OS/GCP 并且 pod 大小大于 1 时会出现问题。如果 pod 大小大于 1,这意味着我有超过 1 个侦听器正在侦听同一个对象,因此当发生更改时,我现在尝试处理这些多个事件更改。
在高层次上,我可以实施什么来确保即使同一个侦听器被并行触发多次(基于活动的 pod 数),也只处理 1 个更改。
解决方案
您当前的架构无法真正轻松避免您遇到的问题。
您应该考虑使用Cloud Functions来触发对文档的更改。 Firestore 触发器只会在每个文档更改时执行一次(除非出现罕见的重复事件,您必须自行删除重复事件),但可以扩展到 1000 个并发服务器实例来处理负载。然后,如果需要,您可以在之后做一些事情来向您的应用程序发出信号。
推荐阅读
- ios - 在 iOS 中使用带有 AVPlayer 的固定证书
- sql-server - SQL:按频率分组的出现次数
- r - R:如何根据匹配的特定列标题在文件夹中查找选择文件
- java - 声明/初始化 Java 字符串缓冲区后出现空指针错误
- c# - 如何在 Unity C# 中的对象之间传输信息?
- python - 从其中一列是列表类型的 pd 数据框中选择不同的值
- dependency-injection - Fastapi如何在路由器中包含依赖项时访问路由内基于类的依赖项的属性?
- python - 我是否需要在我的机器上安装 Python 才能在虚拟环境中运行代码?
- r - 在 dplyr 中使用 like 运算符
- r - 根据字符选择观察