栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

(一)分布式事务——CAP、BASE理论

(一)分布式事务——CAP、BASE理论

分布式事务——理论基础

一、分布式事务和单体的事务:二、什么是分布式事务:三、理论基础:

1、CAP定理:

1.1 一致性:1.2 可用性:1.3 分区容错性:1.4 CAP理论的理解: 2、base理论:

2.1 Basically Available(基本可用):2.2 Soft State(软状态):2.3 Eventually Consistent(最终一致性):2.4 解决问题:

分布式事务——理论基础 一、分布式事务和单体的事务:

以前使用单体架构,往往只有一个服务,使用一个数据库,完成业务的各种要求,因此基于数据库本身的特性就可以完成ACID。
但是到了分布式架构,一个业务可能涉及很多个服务,每个服务都有自己的数据库,而且服务之间是独立的,所以事务也是独立的。因此在完成一个业务的时候,无法利用数据库本身的ACID来完成事务的一致性。
比如有三个服务,当其中一个服务出错,而其他服务正常执行的时候,就会出现事务不一致的情况,尽管每个服务都开起了事务功能,也无法保证事务的一致性。

二、什么是分布式事务:

在分布式系统下,一个业务跨越了多个服务或数据源,每个服务都是一个分支事务,要保证所有分支事务最终状态一致,这样的事务就是分布式事务。

三、理论基础: 1、CAP定理:

分布式系统有三个指标:一致性、可用性、分区容错性
分布式系统无法同时满足这三个指标,这个结论就叫CAP定理。

1.1 一致性:

用户访问分布式系统中的任意一个节点,得到的数据必须一致;也就是说,系统中一个节点的数据发生变化,则它的从节点必须及时地实现数据同步。

1.2 可用性:

用户访问集群中的任意健康节点,必须能得到响应,而不是超时或拒绝。

1.3 分区容错性:

分区:因为网络故障或者是其他原因,导致分布式系统中的部分节点与其他节点失去连接,形成独立分区。
分区容错:在集群出现分区的时候,整个系统也要持续对外提供服务。

1.4 CAP理论的理解:

理解了三个概念之后,不难发现,分区是无法避免的,因为我们无法保证网络一直处于健康的状态。那么分区一定会出现:
如果想保证数据一致性,那就得让分区的服务暂时阻塞不可用,等待同步完数据再回复正常服务。
如果想保证服务可用性,那就得让分区继续对外提供服务,这个时候访问主从节点,获取到的数据可能就不是一致的,因此丧失了数据一致性。
由此可见,在分布式系统中,数据一致性和服务可用性无法做到同时满足。

2、base理论:

base理论是对CAP的一种解决思路,它是在可用性和一致性之间做出取舍和选择,包含了三个思想:

2.1 Basically Available(基本可用):

分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用;

2.2 Soft State(软状态):

在一定的时间内,允许出现中间状态,比如临时的不一致状态;

2.3 Eventually Consistent(最终一致性):

虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

2.4 解决问题:

在分布式系统中,一个事务往往包含很多子事务,各个事务都各自执行和提交,导致状态不一致,而我们要实现的目标是让所有的子事务在最终状态的时候都一致,要么都成功,要么都失败。

AP模式:
各子事务分别执行和提交,允许出现结果不一致,也就是处于软状态,然后采用弥补措施恢复数据即可,实现最终一致。

CP模式:
各个子事务执行后相互等待,同时提交,同时回滚,达成强一致,但是事务等待过程中,处于若可用状态。因为这个时候事务没有提交。

AP和CP模式都需要一个协调者来帮助它们之间进行通信。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号