阿里分布式事务框架GTS开源了一个免费社区版Fescar,看到了这个消息内心非常的激动。在微服务系统中,分布式事务一直是痛点,也是难点。社区里也有一些开源的分布式解决方案的框架,比如ByteTCC、LCN,但是这些框架没有一个权威的组织在维护,或多或少大家都有点不敢用。阿里开源的分布式事务解决框架Fescar会不会一统分布式事务江湖,大家拭目以待。

我们现在来看看什么是FESCAR。Fescar项目地址:https://github.com/alibaba/fescar

什么是FESCAR?

FESCAR是一种分布式事务解决方案,具有高性能和易用性的微服务架构。

微服务中的分布式事务问题

在传统的单体应用程序中,假设我们的业务由3个模块构成,分为库存、订单、账户模块。他们使用同一个单个本地数据源。

本地事务可以保证数据的一致性。

微服务架构发生了变化。提到的3个模块设计为3个不同数据源之上的3个服务(每个服务单独的数据库)。本地事务能够保证每个服务中的数据一致性。关注公众号互联网架构师,回复关键字2T,获取最新架构视频

但是在分布式微服务系统总共,整个业务逻辑的一致性如何保证呢?

FESCAR是怎么解决上面提出的问题?

FESCAR为上述问题即分布式事务问题,提供了解决方案。

首先,如何定义分布式事务?

分布式事务是一个全局事务,由一批Branch Transation组成,通常Branch Transation只是本地事务。

在FESACR项目中有3个基本组件:

  • 事务协调员(TC):维护全局和分支事务的状态,推动全局提交或回滚。

  • 事务管理者(TM):定义全局事务的范围:开始全局事务,提交或回滚全局事务。关注公众号互联网架构师,回复关键字2T,获取最新架构视频

  • 资源管理器(RM):管理分支事务处理的资源,与TC通信以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

FESCAR管理分布式事务的典型生命周期:

  • TM要求TC开始新的全局事务。TC生成表示全局事务的XID。

  • XID通过微服务的调用链传播。

  • RM将本地事务注册为XID到TC的相应全局事务的分支。

  • TM要求TC提交或回滚XID的相应全局事务。

  • TC在XID的相应全局事务下驱动所有分支事务以完成分支提交或rollbaking。

历史

  • TXC:淘宝分布式事务组件。阿里巴巴中间件团队自2014年启动该项目,以满足应用程序架构从单一服务变为微服务所导致的分布式事务问题。

  • GTS:全局事务服务。TXC作为Aliyun中间件产品,2016年更换新名称GTS。

  • FESCAR:2019年开源基于TXC / GTS的开源项目FESCAR,以便与社区密切合作,共同成长。

真赞!阿里开源的这款分布式事务框架,不愧为民族之光相关推荐

  1. 分布式事务框架_1024开源首发 | 金融级分布式事务框架 TXLE

    金融级分布式事务框架 TXLE Distributed Transaction Solution 在 2017 年和 2018 年的 10 月 24 日,爱可生开源社区出品了 MySQL 分布式中间件 ...

  2. 阿里分布式事务框架GTS开源了!

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 就在昨天,阿里分布式事务框架GTS开源了一个免费社区版Fescar,看到了这个消息内心非常的激动. ...

  3. seata xid是什么_阿里开源的分布式事务框架 Seata

    1. Seata 概述 Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来. Seata ...

  4. 分布式事务框架_阿里分布式事务框架GTS开源啦!

    点击上方"Java后端技术",选择"置顶或者星标" 每天带你看高清大图哦! 整理:开源中国 就在9号这天,阿里分布式事务框架GTS开源了一个免费社区版Fesca ...

  5. 百度开源的一款分布式高性能的唯一ID生成器,非常强大!

    来源:https://lilinchao.com/archives/1226.html 一.UidGenerator是什么 UidGenerator是百度开源的一款分布式高性能的唯一ID生成器,是基于 ...

  6. 阿里开源一站式分布式事务框架seata源码分析(AT模式下TM与RM分析)

    序言: 对于阿里开源分布式事务框架seata的详细了解可以参考官网,这里不会详细介绍.本章只会介绍seata中AT模式的源码分析(对阿seata有一定了解或者成功完成过demo). seata中一个事 ...

  7. 关于分布式事务: 阿里开源的分布式事务框架 Seata 和 LCN的分析

    之前使用过LCN分布式事务, 最近看到面试者简历中另一种方案 Seata, 通过它来在实战中解决分布式事务的问题.故 去简单了解了一下Seata是什么, 和LCN的区别在哪里, 如果是你 你怎么选择解 ...

  8. 阿里微服务架构下分布式事务Seata

    转载自  阿里微服务架构下分布式事务Seata Seata 是什么? Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务.在 Seata 开源之前,S ...

  9. 老板现在喊我大哥,原因是我用阿里分布式事务框架Seata解决了长久以来困扰公司的分布式事务问题

    大家好,我是曹尼玛 从大学毕业5年,一直努力学习,努力工作,追求新技术,不保守. 上个月我来到一家新公司上班,月薪20K,这家公司老板人很好,对员工很关爱,公司氛围不错,同事们也努力把公司项目搞搞好. ...

  10. 阿里分布式事务框架Seata集成详情

    大家好,我是曹尼玛 从大学毕业5年,一直努力学习,努力工作,追求新技术,不保守. 上个月我来到一家新公司上班,月薪20K,这家公司老板人很好,对员工很关爱,公司氛围不错,同事们也努力把公司项目搞搞好. ...

最新文章

  1. python的openpyxl模块下载_python解析.xls/.xlsx文件–openpyxl模块(第三方)
  2. 跟我斗图,我用Python爬虫下载几个G的表情砸死你
  3. Linux——进程间关系和守护进程(总结)
  4. Spring Boot——[Spring Boot Configuration Annotation Processor not found in classpath]解决方案
  5. 什么是电源正激和反激? 正激和反激有什么区别特点?如何快速区分
  6. 【logstash】logstash monitor
  7. linux 查看 pppoe dns,Ubuntu 7.04中ADSL拨号上网及DNS设置
  8. jquery 如何获取动态添加的元素
  9. 如何在微信里找到小程序?
  10. 接入层交换机、汇聚层交换机和核心层交换机的区别
  11. element表格固定表头每列宽度,最右侧固定后,溢出出现滚动条内容和表头不能同时移动
  12. MacOS打印自定义尺寸配置教程
  13. 微信小程序 java音乐播放器系统python php
  14. 内存卡格式化了数据可以恢复吗?
  15. mysql stdistance_geometry和geography的区别
  16. 爬虫练习-爬取笔趣阁小说
  17. 登录这个轮子,你还在造?
  18. 2020-10-19(JS收官答题卡)
  19. Pycharm中带参数程序调试
  20. Linux 常用命令(一)

热门文章

  1. 如何断点调试Tomcat源码
  2. HDU 4009 不定根最小树形图
  3. 德江多措施推进大数据应用“智慧德江”建设
  4. 如何判断 DataRow 中是否存在某列????
  5. U-boot下Nand Flash的相关命令
  6. hdu 4336 Card Collector 容斥原理 多校联合赛(四) 第六题
  7. poj 2705 Tangled in Cables 基础prim
  8. 苹果Mac临时文件存储助手工具:Yoink
  9. xxx.app 已损坏无法打开,来自身份不明的开发者解决方法
  10. .Net转Java自学之路—Mybatis框架篇五(查询缓存)