当前位置:网站首页>CAP理论听起来很高大上,其实很简单

CAP理论听起来很高大上,其实很简单

2022-06-11 10:54:00 zhanyd

CAP理论听起来很高大上,其实很简单。

一致性(Consistency): 保证数据一定是一致的,对的

可用性(Availability):保证系统能用

分区容错性(Partition Tolerance):就算网络出了问题(分区),我也能忍

在分布式系统中,网络是肯定会出问题的,不可避免的,比如服务器挂了,程序挂了,网线被踢掉了,网络超时等等。

各个服务器原来通过网络连接,连成一片,在一个大的区域中,互相之间要同步数据,现在网络出了问题,各个服务器之间就断了联系,相互之间被隔离了,数据同步不了了,这就形成了分区。

出现了分区,我们也认了,这是网络错误,是无法避免的,所以分区容错性即P,在分布式系统中是一直存在的。

那在P存在的前提下,我们到底是选择保证:数据是对的比较重要呢(CP),还是保证系统能用比较重要呢(AP)?

CP:比如A服务器的数据是要同步给B服务器的,现在网断了,A的数据传不过去了,我觉得保证数据对比较重要,如果A和B的数据对不上,后果很严重,为了保证A和B服务器的数据一致,干脆让A停止服务好了,直接给客户端返回错误信息,等网络恢复了,再上线,免得A和B的数据不一致。

AP:比如A服务器的数据是要同步给B服务器的,现在网断了,A的数据传不过去了,我觉得暂时的数据不一致没什么大关系,系统能用最重要,那我就继续让A提供服务,等网络恢复了,再同步数据到B。

CAP的问题就是网络不通的情况下,我们优先保证数据一致,还是优先保证系统可用的问题。

 

 

 

原网站

版权声明
本文为[zhanyd]所创,转载请带上原文链接,感谢
https://blog.csdn.net/zhanyd/article/details/111410064