fescar个人记录

转载:https://github.com/seata/seata/wiki/概览
在这里插入图片描述
之前还有疑惑,分支事务提前commit了的话,如果全局事务未提交,那么应该还是不可读的,官方解释是可以读未提交

其实TM,TC都好理解,就是做一个统计都工作,麻烦都是RM里都提交回滚和数据源代理,
转载:https://www.jianshu.com/p/3683b5e3c782

在这里插入图片描述
RM模块中进行镜像保存的地方,顺便还生成里undoLog.
beforeImage是执行sql前的,execute调用的是jdbc的execute方法,目前还不知道应不影响分库分表,执行完sql后生成afterImage,然后生成undoLog.

关于执行前镜像的获取:
在这里插入图片描述
点进去后发现就是提前执行里一下sql
在这里插入图片描述

对于两个全局事务修改同一张表对情况,Fescar会申请一个全局锁,未获取锁对全局事务会等待。这个全局锁的话只是保存在了一个concurrentHashMap里面,所以对于不被TC管理的服务,如果修改数据的话无法保证安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值