ujued
2020-03-08 10:42:50 +08:00
分布式即为多台计算机一起运算对外提供服务。
CA 系统,
1. 可以满足 C。各计算机节点不进行网络通信交换数据,只使用自己的数据。各节点数据是一致的。
2. 可以满足 A。某特节点故障,我们还可以使用其他节点的服务。
AP 系统,
1. 可以满足 P。系统可能在一段时间出现了网络分区,这时系统会有一定机制持续保持数据一致性,到最终一致。即我们不容忍分区错误,可以用手段消除分区。(有限时间内一定可以消除分区)
2. 可以满足 A。系统依然可以提供服务,但可能是在数据不一致的情况下提供的,即在服务数据最终一致性前提供的是含错误数据的服务。
CP 系统,
1. 可以满足 P。系统可能在一段时间出现了网络分区,这时系统会有一定机制持续保持数据一致性,到最终一致。即我们不容忍分区错误,可以用手段消除分区。(有限时间内一定可以消除分区)
2. 可以满足 C。在消除分区前牺牲可用性,即系统要么不提供服务,要么就是在数据一致后提供服务。
以我的经验看,分布式系统中,最多用的还是 AP 系统,在一些特殊服务中需要 CP 系统,不会使用 CA 系统。