“这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战”
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
A | Atomicity | 原子性 | ||
C | Consistency | 一致性 | ||
I | Isolation | 隔离性 | ||
D | Durability | 持久性 |
原子性(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的理论