fescar个人记录

转载:https://github.com/seata/seata/wiki/概览
fescar个人记录
之前还有疑惑,分支事务提前commit了的话,如果全局事务未提交,那么应该还是不可读的,官方解释是可以读未提交

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

fescar个人记录
RM模块中进行镜像保存的地方,顺便还生成里undoLog.
beforeImage是执行sql前的,execute调用的是jdbc的execute方法,目前还不知道应不影响分库分表,执行完sql后生成afterImage,然后生成undoLog.

关于执行前镜像的获取:
fescar个人记录
点进去后发现就是提前执行里一下sql
fescar个人记录

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