首页 > 其他 > 详细

架构系列——高可用架构模式

时间:2021-05-27 11:38:33      阅读:19      评论:0      收藏:0      [点我收藏+]

一、CAP

1.1 CAP理论

第一版:any distributed System cannot guaranty C,A and P simultaneously.

对于一个分布式计算系统,不可能同时满足一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三个设计约束。

第二版:in a distruted sysytem,you can only have two out of the following three guarantees across a write/read pari: Consistency,Availabitity,and Partition Tolerance -one of them must be sacrificed.

在一个分布式系统中,当涉及读写操作时,只能保持一致性、可用性、分区容错性三者中的两个,两外一个必须被牺牲。

1.2 CAP应用

CAP理论定义三个要素只能取其二,但放到分布式环境下,必须选择P(分区容忍)要素,因为网络本身无法做到100%可靠,有可能出故障。

 

1.3 CAP关注点

CAP关注的粒度时数据,而不是整个系统;CAP是忽略网络延迟的(事务提交时,数据并不能瞬间复制到所有节点);放弃并不等于什么都不做 需要为分区恢复后做准备。

  分区期间,记录一些日志,当分区故障解决后,系统根据日志进行数据恢复,使得重新达到CA状态。举例:用户注册系统,采用CP,分区发生后,节点1可以继续注册,节点2无法注册(这里不符合A,节点2收到注册请求后会返回error),此时节点1可以将新注册但未同步到节点2的用户记录到日志中。当分区恢复后,节点1读取日志中的记录,同步给节点2,当同步完成后,节点1和2就达到了满足CA的状态。

  如果采用了AP原则,节点1和2都可以修改数据,会发生数据不一致情况,分区恢复后,系统按照之情定的规则合并数据。如“最后修改原则”、“字数最多原则”,或者把数据冲突报高出来,由人工解决。

 

二、BASE
  BASE:Basically Available(基本可用)、Soft State(软状态)和Eventually Consistency(最终一致性)。核心思想,即使无法做到强一致性,但可以采用合适的方式达到最终一致性。

基本可用:分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

软状态:允许系统存在中间状态,而该中间状态不会影响系统整体可用性。这里的中间状态就是CAP理论中的数据不一致。

最终一致性:系统中的数据副本经过一定时间后,最终能够达到一致性的状态。

  BASE理论本质上是对CAP的延伸和补充,是对AP方案的一个补充。AP方案中牺牲一致性只分区期间,而不是永远放弃一致性。这一点就是BASE理论延伸,分区期间牺牲一致性,但分区故障恢复后,系统应该达到最终一致性。

 

架构系列——高可用架构模式

原文:https://www.cnblogs.com/gzhcsu/p/14816571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!