Firebase云功能是并行触发还是一对一触发?

时间:2019-08-09 07:44:35

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

我正在做一个Firebase项目。 我有一个云功能,可以触发RealTimeDB中我的一个收藏夹的值更改。

如果同时应用大量更改,它将如何调用我的云功能? 它会同时调用云功能,还是会按顺序依次调用我的云功能。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

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

[1] https://cloud.google.com/functions/docs/calling/cloud-firestore#limitations_and_guarantees [2] https://cloud.google.com/functions/docs/concepts/exec#auto-scaling_and_concurrency