如果有网络分区partition (P),系统就必须在可用性availability和一致性consistency (A and C)之间取得平衡; 否则else (E) 当系统运行在无分区情况下,系统需要在 延迟latency (L) 和 consistency (C)之间取得平衡。
PACELC定理是CAP定理的扩展。
MongoDB
MongoDB(默认配置)下是PA/EC系统,mongo读写都在主节点上,它只需在主节点上写入成功就返回(不像raft需要多数复制成功),当主节点和备节点分区时,可能会丢失数据,所以说PA,在无分区的情况下,由于读写都在主节点,肯定能读到最新写入的数据,所以是EC。另外Mongo可以配置为写入大多数节点读主节点,这样就是PC/EC系统了。
大约 4 分钟