CAP定理:
- Consistency(一致性)
- Availability(可用性)
- Partition tolerance (分区容错性)
它们的第一个字母分别是 C、A、P。这三个指标不可能同时做到。这个结论就叫做 CAP 定理。
1、Partition tolerance (分区容错)
大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。
分区容错的意思是,区间通信可能失败。
假如有A、B两台取款机,银行卡中有五百块钱,在A上取五百,(集群中的值是一致的,但不是实时的一致,他们的一致需要耗时的。所谓的需要耗时就是在A上操作了,必须要经历一次数据同步才能一致)在同步的过程中假如手速过快,在B取款机上取五百,还能取出来。这就是所谓的分区容错性,只要有分布式系统、有集群就一定存在的。
2、Consistency(一致性)
就看你在这件事处理的态度如何? 如果害怕这种事情,在发生两个服务出现数据不一致的时候,这个服务对外拒绝访问连接,等他们数据服务同步以后再对外连接。这样外接能够访问的数据是一样的。保证了一致性,牺牲了可用性,在保证一致的这个时间之内,可用是0。
3、Availability(可用性)
如果允许不一样的数据,这时候就是可用,虽然数据有问题,但保证数据可用性。
一句话概括CAP:在分布式系统中,即使网络故障,服务出现瘫痪,整个系统的数据保持一致性。