doc: 阅读seata文档

This commit is contained in:
asahi
2025-08-26 19:32:45 +08:00
parent 44f2a8c540
commit 35b41067e1

View File

@@ -1,3 +1,9 @@
- [seata](#seata)
- [Seata Global Exclusive Write Lock](#seata-global-exclusive-write-lock)
- [TC - Global Exclusive Write Lock Implementation](#tc---global-exclusive-write-lock-implementation)
- [RM - Global Exclusive Write Lock Usage](#rm---global-exclusive-write-lock-usage)
# seata
seata作为兼具高性能和易用性的分布式事务解决方案适用于微服务架构。
@@ -37,6 +43,8 @@ seata作为兼具高性能和易用性的分布式事务解决方案适用于
- 校验是否global lock可以被获取
- 注册transaction branch并实际获取global lock
> 在RM端针对global exclusive write lock的check和获取大多通过Statement和Connection的代理对象来实现。例如在`ConnectionProxy.commit`中调用`registerBranch`从而实现对lock的实际占用。
global write lock的释放和RM无关当全局事务提交时全局事务相关的global lock将会自动被TC module释放。当注册分支事务之前会检查global lock状态确定在branch register的过程中不会发生锁冲突。
当执行update、insert、delete语句时在执行前后都会以undo log的形式生成data snapshot并且生成快照的形式会基于`select ... for update`