CAP理论
在分布式系统中,各个节点的状态是如何同步的成了最大的难点,为了解决各个节点之间的状态同步问题,在1998年,由加州大学的计算机科学家 Eric Brewer 提出分布式系统的三个指标,分别是Consistency:一致性,Availability:可用性,Partition tolerance:分区容错性。下面来聊聊这三个指标。
Availability
Availability 就是可用性,就是分布式系统在收到客户端请求,要给出相应的回应,不管是哪台服务器,只要收到请求,就必须回应客户端。
Partition tolerance
Partition tolerance就是分区容错。就是在分布式系统中,可能有多个分区,分区之间是通过网络进行通信的,但是不能够保证网络一定100%可靠,但是要达到分区容错的要求,就必须要保证两个分区之间一定能够通信。这明显有点前后矛盾,所以在分布式系统设计的时候,可以认为Partition tolerance这个问题是蝾螈存在的,暂时还没能找到解决这个问题的办法。
Consistency
Consistency就是一致性,就是要保证多个分区的数据是一致的,例如有两个分区,第一个分区收到了写请求,数据发生改变了,要达到Consistency要求,就必须让第二个分区的数据也和第一个分区保持一致,而且用户在向的哥个分区读取数据必须是最新的。<