ITPub博客

首页 > 数据库 > 数据库开发技术 > CAP理论听起来很高大上,其实很简单

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

原创 数据库开发技术 作者:zhanyd 时间:2020-12-19 21:02:36 0 删除 编辑
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的问题就是网络不通的情况下,我们优先保证数据一致,还是优先保证系统可用的问题。





 
 

 
 

原文作者:编程我也会;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-06-20

  • 博文量
    120
  • 访问量
    51697