分布式事务框架
<p class="shortdesc"></p>
<div class="p">分布式事务DTMS的应用框架如下:<img class="image" id="architecture__image_wnm_3dm_wpb" src="https://obs-cn-shanghai.ocftcloud.com/pacloud/20211006103130-1a630d7a92a6.png"></div>
<section class="section" id="architecture__section_xtp_jdm_wpb"><h2 class="doc-tairway">核心组件及功能介绍</h2>
<table class="table" id="architecture__table_zv1_ldm_wpb"><caption></caption><colgroup><col><col></colgroup><thead class="thead">
<tr class="row">
<th class="entry" id="architecture__table_zv1_ldm_wpb__entry__1">组件名称</th>
<th class="entry" id="architecture__table_zv1_ldm_wpb__entry__2">组件功能介绍</th>
</tr>
</thead><tbody class="tbody">
<tr class="row">
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__1 ">
<p class="p">DTMS-SERVER</p>
</td>
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__2 ">
<p class="p">即DTMS服务器,负责全局协调交互,包括全局事务和分支事务的开启、提交、回滚等。</p>
</td>
</tr>
<tr class="row">
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__1 ">
<p class="p">Global Transaction Manager(GTM)</p>
</td>
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__2 ">
<p class="p">定义全局事务的边界,负责开启一个全局事务,决定全局事务的提交或回滚。</p>
</td>
</tr>
<tr class="row">
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__1 ">
<p class="p">Branch Transaction Manager(BTM)</p>
</td>
<td class="entry" headers="architecture__table_zv1_ldm_wpb__entry__2 ">
<p class="p">定义分支事务的边界和行为,负责注册分支和上报状态,并接收DTMS-SERVER的指令,驱动分支事务的提交和回滚。</p>
</td>
</tr>
</tbody></table>
</section>
<section class="section" id="architecture__section_hhp_5dm_wpb"><h2 class="doc-tairway">事务过程说明</h2>
<ol class="ol" id="architecture__ol_zyz_wdm_wpb">
<li class="li">GTM 向 DTMS-SERVER 申请开启一个全局事务,创建成功后生成一个全局唯一的 GTID。</li>
<li class="li">GTID 在应用服务调用链路中传播。</li>
<li class="li">BTM 向DTMS-SERVER注册分支事务,该分支事务从属GTID 对应的全局事务。</li>
<li class="li">GTM 向DTMS-SERVER 发起全局提交或回滚决议。</li>
<li class="li">DTMS-SERVER调控从属GTID的所有分支事务完成提交或回滚请求。</li>
</ol>
</section>
提交成功!非常感谢您的反馈,我们会继续努力做到更好!