ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

分布式事务之seata

2021-01-22 20:00:07  阅读:209  来源: 互联网

标签:__ 村民 事务 XID seata 全局 TC 分布式



            _       _       
           | |     | |      
  ___  __ _| |_   _| |_ ___ 
 / __|/ _` | | | | | __/ _ \
 \__ \ (_| | | |_| | ||  __/
 |___/\__,_|_|\__,_|\__\___|
                            

在这里插入图片描述
在这里插入图片描述
首先,给出Seata生命周期的定义

  • TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的 XID。
  • XID 在微服务调用链路的上下文中传播。
  • RM 向 TC 注册分支事务,将其纳入 XID 对应全局事务的管辖。
  • TM 向 TC 发起针对 XID 的全局提交或回滚决议。
  • TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求。

一开始不太理解seata的生命周期(调用过程),反复多次阅读文档后,发现seata的生命周期如果不那么术语化去理解反而更好理解,

这里我们用一个生活中的例子来理解

首先,将TM比作村委会,TC比作当地政府,RM比作村民

1.首先村委会商议决议出一个提案为村民谋福利,将提案上报给当地政府 — 申请开启全局事务

当地政府下发提案申请表,要求村委会将详细说明填写好后提交 — 提案申请表就是那个全局唯一的 XID

2.村委会下发该提案告知村民,并征集村民意见 — 村民都知道消息了就相当于XID 在微服务调用链路的上下文中传播

3.村民统一意见后,上报给村委会 — 就相当于村民加入了这个事务

4.虽然决定由村民决定,但是对接政府的是村委会 — 相当于TM 向 TC 发起针对 XID 的全局提交或回滚决议

5.政府接收到消息后,执行该提案(或是拨款,或是给补给) — TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求

标签:__,村民,事务,XID,seata,全局,TC,分布式
来源: https://blog.csdn.net/codedecentt/article/details/112998995

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有