分布式事物

一、分布式架构的CAP理论

  • 一致性(Consistency) (所有节点在同一时间具有相同的数据)

  • 可用性(Availability) (保证每个请求不管成功或者失败都有响应)

  • 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作

二、什么是分布式事物

事物:由一系列动作共同完成的一件事

分布式事物:又不同服务之间通过网络远程协作完成的事物

三、Seata    官方文档

Seata:一款开源的分布式式事物解决方案,致力于提供高性能和简单易用的分布式事物服务。Seata将为用户提供AT、TCC、SAGA和XA事物模式,为用户打造一站式的分布式解决方案。

3.1 AT 模式(两阶段)

机制原理:

一阶段 Prepare:业务数据和回滚日志记录在同一个本地事物中提交,释放本地锁和连接资源。

二阶段 提交/回滚:

        提交:异步提交。

        回滚:通过一阶段的回滚日志记录进行补偿机制

过程:

  1. 查询要变更的记录,向TC申请该记录的全局锁
  2. 生成变更SQL和UNDO LOG 日志记录的事物
  3. 提交:异步提交事物并提交结果给TC 
  4. 回滚:通过UNDO LOG日志记录生成回滚SQL,汇报结果给TC

3.2 TCC模式 

        tcc模式其实也是两阶段模式,但是它和AT模式的区别在于,他的提交和回滚逻辑都是通过程序员自定义编写好的。

3.3 SAGA模式

        saga模式适用于调用外部系统服务,导致不能进行一次性的事物提交或回滚。它是每个事物单独进行本地提交。回滚方式则是回滚出问题的事物及其之前的事物。为每个事物都单独编写提交和回滚逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值