写点什么

分布式系统都要遵守的 CAP

用户头像
卢卡多多
关注
发布于: 7 小时前
分布式系统都要遵守的CAP

CAP 的理论;


最初使用的是注册中心是 EUREKA,当做 CAP 理论其中可以使用的


CAP 原则又称 CAP 定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾


CAP 原则的精髓就是要么 AP,要么 CP,要么 AC,但是不存在 CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时 C 和 P 两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了 CP 系统,但是 CAP 不可同时满足 [2]  。


其中我们使用的的是 Eureka 的是关于 AP,zookeeper 的是关于 CP


1.传统的是关系型数据库是 ACID;


事务: transaction 的四大特性;-----ACID


原子性(Atomicity)


原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。


一致性(Consistency)


事务前后数据的完整性必须保持一致。


隔离性(Isolation)


事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。


持久性(Durability)


持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响


NOSQL 的事务特性:


CAP 的理论:


C: 强一致性


A: 高可用性


P: 分布式容忍性(分区容错性)-----


只能是 AP    :  高可用和分区容错性


分区容错性是必须实现的;


大多数选择比如电商或者说是网站平台,首先保障的是高可用性;


然后是分区容错性

还有弱的一致性,保证的
复制代码


CP:


高流量过去之后 ,这些对于评论,浏览量的数据要保持一致性;


web 实时性和读写性的需求:


对于订票软件--实时订票;--(过几秒,或者是十几秒)订阅者可以完全接受;


比如说


读己知所写==>


自己发一条微博,然后自己先看到,最后才是后面的订阅者才能看见;


Base


为了解决关系型数据库的强一致性问题----》引起的可用性降低而提出的方案


Base(基本)


基本可用:

软状态

最终一致性:
复制代码


BASE


BASE 理论是对 CAP 理论的延伸,思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但可以采用适当的采取弱一致性,即最终一致性。


BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency)。


阿里云的云栖:Cap 和 Base 的理论


https://yq.aliyun.com/articles/692238

发布于: 7 小时前阅读数: 4
用户头像

卢卡多多

关注

努力寻找生活答案的旅途者 2020.04.12 加入

公众号:卢卡多多,欢迎一起交流学习

评论

发布
暂无评论
分布式系统都要遵守的CAP