为什么不能保证 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 代码本身来实现。
我想云功能的 Firestore 触发器正在使用 PubSub。
PubSub 支持使用相同排序键和相同区域的消息排序。对于 Firestore 触发器,排序键可以是文档 ID。
排序对于 onUpdate
触发器特别有用。
由于您 运行 在 auto-scaling 分布式基础架构上,因此有很多因素会影响执行顺序。
例如,如果一些写入快速连续发生,其中 one/some 可能需要 Cloud Functions 为该写入启动一个新实例,然后它将经历冷启动。其他写入可能在 existing/warm 个实例上处理,并且无法确定哪个先发生。
任何形式的同步都需要付出巨大的努力,而对于绝大多数情况来说,这是不需要的。如果您需要在调用之间进行任何同步,则由您的 Cloud Functions 代码本身来实现。