分布式系统都要遵守的 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 的理论
版权声明: 本文为 InfoQ 作者【卢卡多多】的原创文章。
原文链接:【http://xie.infoq.cn/article/18dd50494e1e17603503a4ba0】。文章转载请联系作者。
评论