【问题标题】:Does Firebase Cloud Function Trigger Parallel or One by One?Firebase Cloud Function 是并行触发还是逐个触发?
【发布时间】:2019-12-16 22:20:30
【问题描述】:

我正在做一个 firebase 项目。 我有一个云函数,它会在我的 RealTimeDB 中我的一个集合的值发生变化时触发。

如果同时应用大量更改,它如何调用我的云功能? 它会同时调用云函数,还是按顺序调用我的云函数,比如一个接一个。

我只是担心,因为这个云函数必须从另一个集合中获取一个值,这个值会不时变化。如果执行顺序发生变化,他们可能会在那个时候获取错误的值。

【问题讨论】:

  • 并行,但您可以过滤该随时间变化的集合的文档以仅获取到所需时间

标签: firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

Cloud Functions 不保证任何事件的顺序。事件可以并行处理,因为可能有多个服务器实例同时处理它们。如果事件可以在负载下快速生成,您将需要考虑到这一点。

【讨论】:

  • 如果您将最大实例数设置为 1,并且该函数正忙。它会等待并重试还是跳过执行?
  • 将最大实例设置为 1 并不能保证只会使用 1 个实例。它仍然可以暂时走高。阅读文档:cloud.google.com/functions/docs/…
【解决方案2】:

Firestore 的限制和保证也适用于 Firebase [1]

“无法保证顺序。快速更改可能会以意外的顺序触发函数调用。”

如果入站请求量超过现有实例的数量,Cloud Functions 可能会启动多个新实例来处理请求。这种自动扩展行为允许 Cloud Functions 并行处理多个请求,每个请求都使用您的函数 [2] 的不同实例。

【讨论】:

    猜你喜欢
    • 2020-10-26
    • 2018-05-16
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 2021-08-03
    • 2019-08-18
    • 2021-04-07
    相关资源
    最近更新 更多