博客
关于我
02.Seata介绍
阅读量:774 次
发布时间:2019-03-21

本文共 1333 字,大约阅读时间需要 4 分钟。

Fescar与Seata:分布式事务的开源解决方案

Fescar是阿里巴巴开源的分布式事务中间件,专注于解决微服务场景下的分布式事务问题。它以高效且对业务侵入最小的方式,帮助开发者应对分布式事务中的挑战。Fescar的全称是“Fast&Easy Commit And Rollback”,最初由阿里内部的TXC(Taobao Transaction Constructor)和阿里云的GTS(Global Transaction Service)精炼而来。

Seata与Fescar的关系

Seata是Fescar的升级版本,自2019年4月起,Seata也被用来表示这款开源分布式事务解决方案。Seata由四个英文单词组成,简单易学且具有扩展性:Simple(简单)、Extensible(可扩展)、Autonomous(自治)、Transaction Architecture(事务架构)。

Seata介绍

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

分布式事务问题及Seata的解决方案

分布式事务问题是指在分布式系统中,多个节点之间需要完成一系列原子操作,但由于网络延迟、网络故障等因素,难以实现本地事务的强一致性。Seata通过高效的协调机制,解决了这一问题。

Seata通过以下方式解决分布式事务问题:

  • 事务协调器(TC/Transaction Coordinator):维护全局事务和分支事务的状态,驱动全局提交或回滚。
  • 事务管理器(TM/Transaction Manager):控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。
  • 资源管理器(RM/Resource Manager):控制分支事务,负责分支注册,状态汇报,并接受事务协调器的指令,驱动分支(本地)事务的提交和回滚。
  • Seata管理分布式事务的典型生命周期

  • 事务管理器(TM)要求事务协调器(TC)开始新的全局事务:TC生成全局事务标识符(XID)。
  • XID通过微服务的调用链传播:确保所有参与事务的服务了解全局事务上下文。
  • 资源管理器(RM)将本地事务注册为XID到TC所管理的全局事务的分支:确保各服务事务与全局事务关联。
  • 事务管理器(TM)要求TC提交或回滚XID对应的全局事务:决定全局事务的最终结果。
  • 事务协调器(TC)在XID对应的全局事务下驱动所有分支事务完成提交或回滚:确保全局事务的强一致性。
  • Fescar与Seata的核心区别

    Fescar和Seata的主要区别在于发展历程和技术架构。Fescar最初是为了解决阿里内部的分布式事务问题而开发的,而Seata是对Fescar进行了全面升级,填补了更多分布式事务场景下的痛点点,提升了性能和可靠性。

    结论

    Seata作为Fescar的升级版本,不仅继承了Fescar的核心思想,更在性能、可靠性和灵活性方面进行了优化。在分布式事务领域,Seata通过高效的分布式协调机制,帮助开发者轻松应对复杂的分布式事务问题,成为开源分布式事务解决方案中的佼佼者。

    转载地址:http://xppgz.baihongyu.com/

    你可能感兴趣的文章
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>