seata分布式事务快速入门

前沿:

简单说下改分布式事务是从fascr改名场seata,是蚂蚁金服贡献(TCC)和阿里巴巴共同研究的分布式事务的完美解决方案。目前的活跃度很高,版本迭代也很频繁,seata的宗旨是完美解决各种分布式环境下的事务处理,无缝对接,所以目前是在研究和更新阶段。当然也有很多公司在使用该架构解决微服务的事务难题。在使用过程中会有不断的更新,包括server和client都会进行对应的更改,有建议说低版本不建议进行商用,1.0后可以,推荐使用阿里开源的GTS,也有的很多公司在用如:深圳市点购电子商务控股股份有限公司广州技术中心,北京科蓝,中航信移动科技有限公司,深圳雁联,会通教育等中小型企业再用。

目前版本:

迭代过程:

分布式解决方案?

  其实分布式的思想也就是将各个服务进行本地事务控制,在进行统一的提交或者回滚的方案只要一台服务出现宕机不可用等意外情况就会导致整个服务链路失败进而达到分布式事务的目的--数据的一致性。基于这样的想法有很多方案,如:2PC,TCC,TCC等,各有千秋。

seata解决了什么?

     源自seata的初衷

  • 对业务无侵入:即减少技术架构上的微服务化所带来的分布式事务问题对业务的侵入
  • 高性能:减少分布式事务解决方案所带来的性能消耗
  • 基于他的实现方案有四种(AT,TCC,SAGA,XA)
  • github:https://github.com/seata/seata

项目Demo

本项目案例以0.8版本进行测试  重要的会进行源代码的跟踪

1:引入服务的注册中心

以erueka为例:对应要进行更改seata服务下的file.cof文件。

途中可以看出seata支持的注册中心比较多.更改对应的type参数

在启动对应的注册中心:

seata服务的启动

这是TC需要管理整个微服务中的事务组,开启文件配置和注册中心,数据库(代理)的映射。启动脚本在bin目录下

数据库建立

    目前的seata在数据库这块只兼容mysql,并且使用mysql5.7以上的版本,这样会更好的支持seata数据库事务所的XA一致性问题。

执行对应的微服务下的sql文件。

  Seata在数据库的拆分上在做很大的改动 这个后期再进行数据的分表分库(mycat)和双机热备,但是mycat在使用过程中会有些问题有待完善。将各个微服务下的yml文件更改数据库的连接。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值