游客4kq4je4avqbxc_个人页

个人头像照片 游客4kq4je4avqbxc
个人头像照片
0
2
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年02月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2024-02-06

    seata的AT模式,如果有多个全局锁@GlobalLock,怎么知道去竞争哪一个

    你的逻辑和理解是错误的。
    就拿:1)扣减库存 2)生成订单 ;这个全局事务进行举例,该全局事务涉及了2个分支事务,涉及库存表 、订单表,那么该全局事务就会生成2个全局锁,2个全局锁的id(lockKeys)是由修改前后库存表、订单表的表中数据id加工而来。

    另一个全局事务:4)修改用户状态 5)修改余额状体;如果涉及了2张表那么也会生成2个全局锁,但是这2个全局锁和上面库存表、订单表是没有关系的。

    而@GlobalLock 修饰的3)增加库存 这个方法,这个是操作的库存表,那么就和第一个全局事务扣减库存操作的是同一张表,这时候@GlobalLock修改的增加库存这个方法,在commit之前就会去TC那里查询是否有全局事务持有了该库存表的全局锁,有的话就会重试一定的次数,次数尽了还被持有锁则自己就会进行回滚。和另一个全局事务【4)修改用户状态 5)修改余额状体】是没有关系的。

    踩0 评论0
  • 回答了问题 2024-02-06

    Seata中资源竞争是指对同一个全局事务的竞争吗?

    是对全局事务下的全局锁的竞争

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息