【JavaP6大纲】分布式事务篇:CAP理论

CAP理论?

分布式环境下(数据分布)要任何时刻保证数据一致性是不可能的,只能采取妥协的方案来保证数据最终一致性。这个也就是著名的CAP定理。
C一致性:对于指定的客户端来说,读操作保证能够返回最新的写操作结果。
A可用性:非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)。
P分区容错性:当出现网络分区后,系统能够继续“履行职责”。

对于一个分布式系统而言,网络失效一定会发生,分区容错性P其实就是每个服务都会有多个节点(一般都是主从),这样就可以保证此服务的一个节点挂了之后,此服务的其他节点依然可以响应,其实这就是分区容错性。
但是一个服务有多个节点之后,一个服务的多个节点之间的数据为了保持一致性就要进行的数据复制,在此过程中就会出现数据一致性C(强一致性)的问题。也就是说,分区耐受性是必须要保证的,那么在可用性和一致性就必须二选一。网络不可用的时候,如果选择了一致性,系统就可能返回一个错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的。

原文地址:https://www.cnblogs.com/javawxid/p/15644457.html