在前面我们已经讲解了ShardingSphere5.x的分布式事务的seata的解决方案,可是那个方案是基于单体系统的解决方案,那在我们的spring cloud的微服务中我们该如何去实现基于ShardingSphere5.x的seata的分布式事务的实现呢,接下里在本章张将为大家讲解如何实现微服务中的ShardingSphere5.x的seata的分布式解决方案的实现。
1、demo技术选型及版本信息
-
注册中心:eureka
-
服务间调用:feign
-
持久层:mybatis
-
数据库:mysql 5.7.20
-
Springboot:2.1.7.RELEASE
-
Springcloud:Greenwich.SR2
-
jdk:1.8
-
seata:1.0
-
ShardingSphere:5.0.0-alpha
2、demo概况
demo分为五个项目,单独启动,同时我们的ShardingSphere的分为两库和四表来进行设计。
- eureka:作为注册中心
- order:订单服务,用户下单后,会创建一个订单添加在order数据库,同时会扣减库存storage,扣减账户account;
- storage:库存服务,用户扣减库存;
- account:账户服务,用于扣减账户余额;
- s