doc: 阅读seata文档
This commit is contained in:
@@ -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
|
||||||
seata作为兼具高性能和易用性的分布式事务解决方案,适用于微服务架构。
|
seata作为兼具高性能和易用性的分布式事务解决方案,适用于微服务架构。
|
||||||
|
|
||||||
@@ -37,6 +43,8 @@ seata作为兼具高性能和易用性的分布式事务解决方案,适用于
|
|||||||
- 校验是否global lock可以被获取
|
- 校验是否global lock可以被获取
|
||||||
- 注册transaction branch,并实际获取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的过程中不会发生锁冲突。
|
global write lock的释放和RM无关,当全局事务提交时,全局事务相关的global lock将会自动被TC module释放。当注册分支事务之前,会检查global lock状态,确定在branch register的过程中不会发生锁冲突。
|
||||||
|
|
||||||
当执行update、insert、delete语句时,在执行前后都会以undo log的形式生成data snapshot,并且,生成快照的形式会基于`select ... for update`。
|
当执行update、insert、delete语句时,在执行前后都会以undo log的形式生成data snapshot,并且,生成快照的形式会基于`select ... for update`。
|
||||||
|
|||||||
Reference in New Issue
Block a user