古道长亭

Contact me with ixiaoqiang0011@gmail.com


  • 首页

  • 归档

  • 分类

  • 关于

  • Book

  • 搜索

Seata Saga模式

时间: 2022-12-04   |   分类: Seata   分布式事务   spring-cloud   | 字数: 691 字 | 阅读约: 2分钟 | 阅读次数:

Seata Saga模式

4.1 Saga模式介绍

Saga模式是Seata开源的⻓事务解决⽅案,将由蚂蚁⾦服主要贡献。在Saga模式下,分布式事务内有多个参与者,每⼀个参与者都是⼀个冲正补偿服务,需要⽤户根据业务场景实现其正向操作和逆向回滚操作。

分布式事务执⾏过程中,依次执⾏各参与者的正向操作,如果所有正向操作均执⾏成功,那么分布式事务提交。如果任何⼀个正向操作执⾏失败,那么分布式事务会去退回去执⾏前⾯各参与者的逆向回滚操作,回滚已提交的参与者,使分布式事务回到初始状态。

适用场景:

  • 业务流程⻓、业务流程多
  • 参与者包含第三⽅公司或遗留系统服务,⽆法提供TCC模式要求的三个接⼝
  • 典型业务系统:如⾦融⽹络(与外部⾦融机构对接)、互联⽹微贷、渠道整合等业务系统

4.2 三种模式对比

由于saga不常用, 这里不再做demo示例

维度ATTCCSaga
集成难度低非常高中等
隔离性保证保证不保证
推荐度高中低
数据库改造UNDO_LOG无流程与实例表
实现机制DataSource代理TCC实现状态机
场景⾃研项⽬全场景
拥有数据访问权限
快速集成场景
更⾼的性能要求更复杂的场景⻓流程
涉及⼤量第三⽅调⽤

AT模式是⽆侵⼊的分布式事务解决⽅案,适⽤于不希望对业务进⾏改造的场景,⼏乎0学习成本。

TCC模式是⾼性能分布式事务解决⽅案,适⽤于核⼼系统等对性能有很⾼要求的场景。

Saga模式是⻓事务解决⽅案,适⽤于业务流程⻓且需要保证事务最终⼀致性的业务系统,Saga模式⼀阶段就会提交本地事务,⽆锁,⻓流程情况下可以保证性能,多⽤于渠道层、集成层业务系统。事务参与者可能是其它公司的服务或者是遗留系统的服务,⽆法进⾏改造和提供TCC要求的接⼝,也可以使⽤Saga模式。

#Seata# #分布式事务#
QQ扫一扫交流

标题:Seata Saga模式

作者:古道长亭

声明: 欢迎加群交流!

如有帮助,欢迎多多交流 ^_^

微信打赏

支付宝打赏

Spring Boot 缓存管理
Spring Boot 视图技术
  • 文章目录
  • 站点概览
古道长亭

古道长亭

Always remember that your present situation is not your final destination. The best is yet to come.

226 日志
57 分类
104 标签
GitHub Gitee
友情链接
  • 古道长亭的BOOK
  • JAVA学习
标签云
  • Mysql
  • 搜索引擎
  • Mybatis
  • 容器
  • 架构
  • 消息队列
  • Flink
  • Sharding sphere
  • 流处理
  • 缓存
  • 4.1 Saga模式介绍
  • 4.2 三种模式对比
© 2019 - 2024 京ICP备19012088号-1
0%