为什么不能保证 Firestore 触发器(用于 Cloud Functions)的顺序?

Why is Firestore triggers (for Cloud Functions) ordering not guaranteed?

我想云功能的 Firestore 触发器正在使用 PubSub。

PubSub 支持使用相同排序键和相同区域的消息排序。对于 Firestore 触发器,排序键可以是文档 ID。

排序对于 onUpdate 触发器特别有用。

由于您 运行 在 auto-scaling 分布式基础架构上,因此有很多因素会影响执行顺序。

例如,如果一些写入快速连续发生,其中 one/some 可能需要 Cloud Functions 为该写入启动一个新实例,然后它将经历冷启动。其他写入可能在 existing/warm 个实例上处理,并且无法确定哪个先发生。

任何形式的同步都需要付出巨大的努力,而对于绝大多数情况来说,这是不需要的。如果您需要在调用之间进行任何同步,则由您的 Cloud Functions 代码本身来实现。