赞
踩
强一致性事务概述
分布式事务领域,最早采用的是符合CAP理论的强一致性事务方案来解决分布式事务问题,强一致性分布式事务要求在任意时刻查询参与全局事务的各个节点的数据都是一致的
典型案例:
包括DTP模型(全局事务模型)、2PC模型(两阶段提交模型)和3PC模型(三阶段提交模型)
优点:
缺点:
DTP模型
DTP模型是X/open组织定义的一套分布式事务标准,这套标准主要定义了实现分布式事务的规范和API,具体的实现交由相应的厂商来实现,其中定义了几个重要的概念,分别是事务、全局事务、分支事务、控制线程
DTP模型的执行流程
DTP模型定义了实现分布式事务的规范和API,主要执行流程如下:
主要定义了3个核心组件,分别为AP、TM、RM
其中,AP可以跟TM、RM通信,TM和RM互相之间可以通信,DTP模型定义了XA接口,TM和RM能够通过XA接口进行双向通信。TM控制着全局事务,管理事务的生命周期并协调资源。RM控制和管理实际的资源
2PC模型
2PC模型是指两阶段提交协议模型,这种模型将整个事务流程分为Prepare阶段和Commit阶段,
P是指Prepare,即准备,C指的是Commit,即提交
执行成功流程:
执行失败流程:
2PC模型存在的问题:
3PC模型
3PC模型指的是三阶段提交,是在2PC模型的基础上改进的版本,3PC模型把2PC模型中的Prepare阶段一分为二,最终形成3个阶段:CanCommit阶段、PreCommit阶段和doCommit或者doRollback阶段,同样也分为事务执行成功和事务执行失败2种情况
事务执行成功的流程
事务执行失败的流程:
3PC模型中存在的问题:
与2PC相比3PC主要解决了单点故障问题,并减少了事务执行过程中产生的阻塞现象,在3PC模型中,如果资源管理器无法及时收到来自事务管理器发出的消息,那么资源管理器就会执行提交事务的操作,而不是一直持有事务的资源并处于阻塞状态,但是这种机制会导致数据不一致的问题
如果由于网络故障等原因,导致资源管理器没有及时收到事务管理器发出的Abort消息,则资源管理器会在一段时间后提交事务,这就导致了与其他接收到Abort消息并执行了事务回滚的资源管理器的数据不一致
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。