【day09】

分布式事务

业务案例

pom.xml 继承 order-parent
yml
app.name
port
eureka
datasource
mybatis
sql语句日志
实体类
Mapper
Service
Controller

全局唯一id发号器

解压到 seata-at 目录
文件夹改名:easy-id-generator
pom.xml 拖拽到 idea,修改springboot版本:2.3.2.RELEASE
代码中右键–add as maven project
添加 bootstrap.yml
application.yml 添加 eureka 配置、app.name
配置 id 生成算法开关:
雪花算法 – false
segment – true – 根据库表中记录的参数来生成id
配置数据库连接

订单调用发号器、库存、账户

启动类添加 @EnableFeignClients
定义三个远程调用接口:
AccountClient
StorageClient
EasyIdClient
OrderServiceImpl 中完成远程调用

分布式事务

seata

阿里的开源项目

一站式分布式事务解决方案
支持的事务方案
XA
SAGA
AT
TCC
seata at 事务
启动事务协调器(TC)
从 seata 官网下载 seata server(TC)
解压
修改三个配置文件
regiestry.conf 向eureka注册
file.conf seata server运行日志的存储位置
seata-server.bat 使用的内存 苹果电脑修改 seata-server.sh
cmd 中运行 seata-server.bat
访问注册表,查看有没有 seata-server
jdk必须是1.8
seata server 命令窗口不能关闭
抽口中不能选中

三个业务模块中添加 seata at 事务配置

seata 依赖
三个配置文件
application.yml 对事务组命名
registry.conf 连接eureka,获取 seata server (TC)的地址
file.conf 事务组对应使用的协调器
定一个自动配置类,创建数据源代理对象
业务方法上添加注解
@Transactional – 控制本地数据库事务
@GlobalTransactional – 启动全局事务,只在第一个模块添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值