系列文章目录
文章目录
- 系列文章目录
- 前言
前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色,帮助经济体平稳的度过历年的双11,对各BU业务进行了有力的支撑。经过多年沉淀与积累,商业化产品先后在阿里云、金融云进行售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助其技术更加可靠与完备。
Spring Cloud中使用Seata使用 Feign 实现远程调用。
Windows上安装Seata服务http://www.javacui.com/tool/622.html
XA模式,官方说明
http://seata.io/zh-cn/docs/dev/mode/xa-mode.html
官方参考
https://github.com/seata/seata-samples/tree/master/seata-xa
POM引入
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<exclusions>
<!--版本较低,1.3.0,因此排除-->
<exclusion>
<artifactId>seata-spring-boot-starter</artifactId>
<groupId>io.seata</groupId>
</exclusion>
</exclusions>
</dependency>
<!--seata starter 采用1.4.2版本-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>
需要修改application.yml文件,添加一些配置:
seata:
data-source-proxy-mode: XA
registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址
# 参考tc服务自己的registry.conf中的配置
type: nacos
nacos: # tc
server-addr: 192.168.2.22:8848
username: nacos
password: nacos
namespace: "" # 命名空间,默认public
group: DEFAULT_GROUP # 分组,默认DEFAULT_GROUP
application: seata-server # tc服务在nacos中的服务名称
tx-service-group: seata-demo # 事务组,根据这个获取tc服务的cluster名称
service:
vgroup-mapping: # 事务组与TC服务cluster的映射关系
seata-demo: DEFAULT
买个需要用到分布式事务的模块都要加入该配置
用@GlobalTransactional注解,替换原来Spring的@Transactional事务注解。
注意,只需要在入口模块的方法上,即发起全局事务的入口方法上改即可。
测试地址
http://localhost:8082/order?userId=user202103032042012&commodityCode=100202003032041&count=20&money=200