分布式事务
2023-05-16 07:59:24 0 举报
事务
作者其他创作
大纲/内容
XID
Product
服务执行成功
多个DataSource
多个链接
1
返回XID
我出问题了
Tomcat (8082)
1. 校验库存 3 件2. 保存订单3. 生成快照4. 扣减库存5. 删除购物车
蓝色框为一个font color=\"#2196f3\
服务未执行
4. 扣减库存
1. 校验库存
Write
数据的一致性
请求1
TM : Transaction Manager
shopcart-delete
提交订单这一件事 :
全局事务1XID
stock-update修改库存服务
order-add
Tomcat (8081)
负载均衡Nginx(8080)
3
数据库
TC 事务协调者Transaction Coordinator
一个链接
从
一个DataSource
所有子事务根据XID注册入全局事务1中
Tomcat (8080)
3. 生成快照
Read
请求2
5. 删除购物车
主
2
由于网络有延迟
蓝色框每一个为font color=\"#2196f3\
将价格从10-20
4
5
TM请求TC开启全局事务
Tom Product_ID:101 买2件商品
orderitem-add订单快照服务
2. 保存订单
1. 校验库存 2. 保存订单3. 生成快照4. 扣减库存5. 删除购物车
服务执行失败
通知回滚
分布式事务场景
order-query
Jack Product_ID:101 买2件商品
已经把订单写入数据库
驱动RM回滚
api-order-submit订单提交接口
Product_ID:101数量: 3件
Nacos
1. 校验库存 2. 保存订单
RM : Resource Manager管理子事务
3. 生成快照4. 扣减库存5. 删除购物车
0 条评论
下一页