分布式事务
两阶段提交主要保证了分布式事务的原子性:即所有结点要么全做要么全不做,
两个阶段是指: 第一阶段:准备阶段;第二阶段:提交阶段。
Seate:
定义:
开源的分布式事务框架
优点:
性能好,不长时间连接占据资源
提供解决方案模式:
at模式/tcc模式
核心组件:
Tc = 事务协调器,独立中间件,需要单独部署,
Tm = 事务管理器,发送全局提交/全局回滚指令
Rm = 控制事务分支,负责分支注册,状态汇报,接受tc指令,驱动分支事务的提交和回滚
流程:
//
新用户注册送积分
//
1 tm向tc申请,开启一个全局事务,创建成功之后给一个标识 = xid;
2 rm向tc注册一个分支事务,让xid被全局事务管理
3 客户服务执行事务,向用户表插入一条数据
4 远程积分服务
5 执行对应逻辑,返回用户服务
6用户服务分支事务处理完毕
7tm向tc发起针对xid的全局提交/回滚
8tc调度xid管辖下的全部事务完成提交/回滚请求
分布式系统事务一致性解决方案
提供回滚接口/本地消息表/MQ(非事务消息)/mq(事务消息)