专栏首页歪脖贰点零开源分布式事务解决方案-Seata,1.0.0版发布了

开源分布式事务解决方案-Seata,1.0.0版发布了

在经历了25个release之后,Seata于2019年底冬至日前一天21日发布了v1.0.0版本,大家普遍的印象是1.0.0版本的面世,意味着比较稳定,其实Seata在0.4.2版本之后就可以上生产环境。

题图 from pixabay

什么是分布式事务

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。非单体的应用程序必须会涉及到分布式服务问题。

常见解决方案

  • 两阶段提交(2PC, Two-phase Commit)方案
  • 事件队列方案
  • TCC 补偿模式
  • 缓存数据最终一致性

这里仅讲讲Seata,其它方案,网络上有相当多的资源来阐述,这里不做过多介绍。

Seata是什么

Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。

在 Seata 开源之前,Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色,帮助经济体平稳的度过历年的双11,对各BU业务进行了有力的支撑。经过多年沉淀与积累,商业化产品先后在阿里云、金融云进行售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源。

Seata历史

Seata由TXC(Taobao Transaction Constructor,阿里于2014开始着手解决分布式事务的内部框架),后更名为GTX(Global Transaction Service,阿里于2016年将TXC发布于云服务并且改名为GTX),后又更名为Fescar(阿里于2019将GTS开源并改名为Fescar),继续演进为Seata(Simple Extensible Autonomous Transaction Architecture,阿里将蚂蚁金服框架DTX与Fescar结合并且改名为Seata),追溯其历史还是经历了一些起伏变化。

微服务框架支持

目前已支持 Dubbo、Spring Cloud、Sofa-RPC、Motan 和 grpc 等RPC框架,其他框架持续集成中。

模式支持

Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

  1. AT模式:提供无侵入自动补偿的事务模式,目前已支持 MySQL、 Oracle 的AT模式、PostgreSQL、H2 开发中
  2. TCC模式:支持 TCC 模式并可与 AT 混用,灵活度更高
  3. SAGA 模式:为长事务提供有效的解决方案
  4. 高可用:支持基于数据库存储的集群模式,水平扩展能力强

可参考Seata官网介绍:https://seata.io/了解更多,Seata与阿里生态契合的很紧密,特别是spring-cloud-alibaba问世以来,将ali技术与spring系列融入的更加彻底。

-End-

本文分享自微信公众号 - 歪脖贰点零(growithus)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 编程,到底有没有捷径可以走

    编程处在一个前所未所有的向上增长期,少儿编程的普及越来越的进入中小学生群体,以前只能在大学里才能学到的技能,转而从小学校园里开始,想想看,等他们就业时会是一个什...

    歪脖贰点零
  • 没有永恒的技术,只有适合的技术

    你还记得Flash吗?可能年轻的小伙伴基本没什么感觉,毕竟是个有年头产品了,不过最近经常在Chrome 里收到这样的提示:

    歪脖贰点零
  • 那些会阻碍程序员成长的细节[3]

    不能主动推动事物前进。 主动做一件事跟被动接受去做事,心情都是不一样的,做事效率更是千差万别。主动的人有更多的成长机会,反之在被动中不断的响应别人的任务,这与处...

    歪脖贰点零
  • 明明JS很简单,但为什么新手学JS起来这么费劲 ?

    每个程序员吧都有那种不停学习的阶段,就是指看到什么学什么 ,然后就感觉学的越多不会的就越多,感觉学会JS就要学会打包,学完打包就要学nodejs,然后就要学会w...

    web前端教室
  • 写点JS很简单,为什么新手学起来这么费劲 ?

    image.png 每个程序员吧都有那种不停学习的阶段,就是指看到什么学什么 ,然后就感觉学的越多不会的就越多,感觉学会JS就要学会打包,学完打包就要学node...

    web前端教室
  • 零基础小白如何学习好web前端JS

    Web前端入门相对简单、应用领域众多,是零基础学习IT开发的首选语言。不过在完成HTML+CSS的学习之后,很多同学都会被JS难倒——JS语法、JS数据类型、J...

    千锋哈尔滨IT培训
  • 深度剖析一站式分布式事务方案Seata(Fescar)-Server

    再前不久,我写了一篇关于分布式事务中间件Fescar的解析,没过几天Fescar团队对其进行了品牌升级,取名为Seata(Simpe Extensible Au...

    用户5397975
  • 你的应用安全吗? ——用Xray和Synk保驾护航

    在当下软件应用的开发过程当中,自研的内部代码所占的比例逐步地减少,开源的框架和共用库已经得到了广泛的引用。如下图所示,在一个Kubernetes部署的应用当中,...

    JFrog杰蛙科技
  • 如何利用数据架构带动企业增长?

    对于架构师而言,技术的发展是无尽的,在搭建和实践智能数据架构的过程中,架构师们都会或多或少地遇到一些疑惑和挑战,如何解决在架构建设中遇到的某些问题?架构建设的领...

    个推君
  • Android 纵向跑马灯滚动效果

    像淘宝和京东都会有跑马灯的效果,今天给大家贡献下以前项目的一个demo,各位看官,且看效果图。 ? ? ? 我们先定义一个Bean文件,这个实体类文件主要包含标...

    xiangzhihong

扫码关注云+社区

领取腾讯云代金券