springcloud+eureka+seata实现分布式事务处理

在分布式系统中,分布式事务一直是让人头疼的一块,2019年1月,阿里开源了分布式事务框架——seata,目前0.6.1版本已经支持集群部署,并一直在快速迭代。唯一遗憾的是seata现在只支出mysql数据库,计划0.8版本开始支持oracle数据库。

好了,废话不多说,让我们一起来看看seata在springcloud项目中是如何使用的。

首先下载seata-server数据库文件,并创建数据库。

访问seata的git地址,拉取0.6.1版本的seata-server,拉取代码之后使用idea打开,项目结构如图:
springcloud+eureka+seata实现分布式事务处理_第1张图片
1、配置seata-server服务端,并注册到eureka:
打开seata-server模块,进入resources目录修改file.conf文件,如图:
springcloud+eureka+seata实现分布式事务处理_第2张图片
保存方式修改为db方式,数据库连接使用刚才创建的数据库。

然后进入registry.conf,修改注册中心为eureka,如图:
springcloud+eureka+seata实现分布式事务处理_第3张图片
application的值就是注册中心服务的名称,客户端通过这个名称找到事务处理的服务,可以自己定义,但需要注意的是,file.conf中的,service里边配置的事务组应该跟服务名保持一致,如图:
springcloud+eureka+seata实现分布式事务处理_第4张图片
一次启动eureka、seata-server,能看到seata-server已经注册到eureka:
springcloud+eureka+seata实现分布式事务处理_第5张图片
2、配置项目从eureka中注册到seata-server:
将file.conf和registry.conf复制到项目resources文件夹下,springcloud+eureka+seata实现分布式事务处理_第6张图片
修改file.conf文件中greouplist为seata-server服务器地址,如图:
springcloud+eureka+seata实现分布式事务处理_第7张图片
项目中注入bean
在这里插入图片描述
启动项目可以看到已经通过eureka注册到seata-server中了
在这里插入图片描述
现在就可以在项目中使用@GlobalTransactional处理分布式事务了,如图:
springcloud+eureka+seata实现分布式事务处理_第8张图片
好了,关于springcloud+eureka集成分布式事务处理框架seata就介绍完了。

你可能感兴趣的:(springcloud,eureka,分布式事务,seata,微服务,springcloud)