无论我看哪里,我都看到 MongoDB 是 CP。 但是当我深入研究时,我发现它最终是一致的。 使用safe=true时是CP吗?如果是这样,那是否意味着当我使用 safe=true 编写时,所有副本都会在得到结果之前更新?
最佳答案
默认情况下,MongoDB 是强一致的——如果你先写然后再读,假设写成功了,你总是能够读到你刚刚读到的写的结果。这是因为 MongoDB 是单主系统,默认情况下所有读取都转到主系统。如果您可以选择启用从辅助节点读取,那么 MongoDB 最终会变得一致,可以读取过时的结果。
MongoDB 还通过副本集中的自动故障转移获得高可用性:http://www.mongodb.org/display/DOCS/Replica+Sets
https://stackoverflow.com/questions/11292215/