分布式事务解决方案

当前工作只分表并未分库

分布式事务解决方案:
    两阶段提交:XA接口规范
        1.表决阶段,将所有参与者的是否可提交状态都反馈给协调者
        2.执行阶段,决定是否提交或者回滚; 
       锁定资源时间长,同步阻塞的,不能确定是准确的事务,有些会宕机
        
    TCC方案:try,confirm,cancel
        1.业务应用会向事务协调器注册事务
        2.业务应用调用所有服务的try接口
        3.业务应用返回给协调器状态,调用confirm或者cancel接口
      业务入侵强,都需要实现接口,需要实现多种回滚策略;
    基于消息队列的:
        1.A系统的业务代码和消息发送代码放到同一个事务中,
        2.B系统订阅消息进行数据库操作
       入侵强,需要大量改造
    GTS:分布式事务中间件
      优点:
        1.性能强:ACID,高可用,高性能;
        2.应用入侵少,只加注解就可以
        3.支持多种框架Dubbo,SpringCloud等,如果需要调用第三方,而第三方没有接入GTS,则需要开启MT模式,等价于TCC,自定义多种行为
        4.解决协调者单点的问题,保证数据一致性
      集成:
        1.客户端(Client):完成事务的发起与结束。
        2.资源管理器(RM):完成事务分支的创建,提交,回滚等操作.
        3.事务协调器(Server):主要负责分布式事务的整体推进,事务生命周期的管理
      基于GTS的开源版本FESCAR:
         生命周期:
            1.业务应用要求协调者开始全局的事务,并生成一个调用链的ID
            2.通过微服务的调用链传播,在进行数据库操作的时候会先获取xid,进而传播到下一个服务;
            3.分支事务将在协调者中注册为xid的响应的全局事务;
            4.业务要求协调者提交或者回滚响应的事务;
            5.协调者驱动事务分支进行提交或回滚
         添加@GlobalTransactional注解就可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值