更新多个文档时如何处理分片Mongo群集中的弹性

时间:2019-06-05 14:43:54

标签: database mongodb sharding resiliency

当我们更新多个文档时,Mongo当前不在分片群集中进行事务处理。在这种情况下,我们应该如何处理部分故障。对于此类问题,有任何推荐的模式。

1 个答案:

答案 0 :(得分:0)

共享集群事务是即将发布的MongoDB 4.2:Distributed Transactions中的一项功能。

对于较旧的MongoDB版本,您需要使用two-phase commit模拟此行为。 MongoDB手册中提供了一种模式:Perform Two Phase Commits

基本上,模式是要有一个特殊的文档来跟踪交易的状态,并在涉及交易的各个文档中跟踪交易ID。成功完成所有必要的更新后,您可以将交易标记为“完成”,并清除该过程中涉及的所有元数据。