目前,Seata的Saga模式还在开发中,注解化模式和流式编排模式的设计工作正在进行中,期望在未来的版本中提供给用户更具产品化能力的Seata Saga。注解化模式将降低使用Seata Saga的上手成本,使其更易于使用。具体的发布时间还需要关注Seata的最新动态和更新日志。
eata 已经在 1.4.0 版本开始支持注解 saga 模式。在之前的版本中,Seata 主要支持基于 XML 的 saga 模式配置。从 1.4.0 版本开始,Seata 引入了注解的方式,使得 saga 模式的配置更加简便。使用注解 saga 模式时,需要在 Seata 配置文件中启用注解支持,并使用相应注解标注 saga 方法。
Saga的实现:
基于状态机引擎的 Saga 实现:
目前SEATA提供的Saga模式是基于状态机引擎来实现的,机制是:
通过状态图来定义服务调用的流程并生成 json 状态语言定义文件
状态图中一个节点可以是调用一个服务,节点可以配置它的补偿节点
状态图 json 由状态机引擎驱动执行,当出现异常时状态引擎反向执行已成功节点对应的补偿节点将事务回滚
注意: 异常发生时是否进行补偿也可由用户自定义决定
可以实现服务编排需求,支持单项选择、并发、子流程、参数转换、参数映射、服务执行状态判断、异常捕获等功能
Seata对Saga模式的注解化模式正在设计中,致力于提升其易用性。目前,Seata Saga模式主要通过Seata框架来管理和协调分布式事务,提供了对事务的编排和状态管理的支持。
Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。