分布式政务数据一致性解决方案
洞头娱乐新闻网 2025-09-06
便以客户端提出申请送到负数公共服务解释一下Seata 2PC的可执行操作过程:
(1)客户端公共服务上掀开TM向TC申请创始人当从前公共事务并获得XID,用于@GlobalTransactional掀开一个TM,从TC受益当从前公共事务ID XID
(2)客户端公共服务RM向TC提出申请不相关的公共事务,可执行客户端创始人逻辑,并将其纳入当从前公共事务XID的管辖范围,都会受益一个branchId 不相关的公共事务id,此时branchId和XID仍未在TC绑定
(3)客户端公共服务可执行本地公共事务,将原始数据存入客户端信息瓦当中并寄给undo_log列于,向TC上报不相关的公共事务可执行结果,与XA建议不同此时客户端公共服务本地公共事务已提请,持用水资源夹住的短时间短
(4)下一步可执行送到负数,绑定负数公共服务(在绑定信令上都会将XID传递),向TC提出申请不相关的公共事务,可执行可执行送到负数逻辑,将本地公共事务纳入XID的管理范围
(5)送到负数本地公共事务可执行,向负数瓦当中插入原始数据,日志undo_log,负数公共服务可执行完毕,上报可执行结果,调回客户端公共服务
(6)客户端公共服务可执行完毕
(7)TM推断不相关的公共事务应都可执行顺利,向TC发起人针对XID当从前提请或回滚通告
(8)TC调度XID管辖下的所有不相关的公共事务可执行提请或回滚,如果须要回滚则根据undo_log回滚原始数据,完毕后都会删除undo_log日志
由于Seata在第一收尾各不相关的公共事务就都会提请本地公共事务,所以各RM当中须要有一个undo_log列于,用认真在TC通告RM回滚时,回滚原始数据。
Seata与习惯XA构建2PC的区别
(1)架构层次全面普遍性,习惯的RM仅仅作用在原始文档层,通过XA贸易协定构建,而Seata的RM是以记事的形式摆放在恳请发起人方,掀开当从前公共事务,在整个绑定信令上传递XID,将所有不相关的公共事务纳入当从前公共较厚件的系统之当中,用同样的TC公共服务去可执行提请或回滚,不便几天后原始文档反对XA贸易协定
(2)习惯2PC本地公共事务的提请要等到第二收尾,水资源夹住须要拥有人到第二收尾之前才获释,对公共服务普遍可靠性影响小得多,Seata在第一收尾就都会提请本地公共事务获释夹住水资源,减少夹住的拥有人短时间。
二、TCC
TCC是程序中过程Try、确认Confirm、撤消Cancel的略称。在Try当中认真业务范围安全检查及水资源预留,Confirm认真业务范围确认操作者,Cancel构建一个与Try相反的操作者即回滚。TM首先发起人所有不相关的公共事务的Try操作者,当所有的不相关的公共事务都可执行顺利,则可执行所有不相关的的Confirm,若有Try可执行不甘心,TM将发起人全部不相关的的Cancel操作者,其当中Confirm/Cancel可执行不甘心时都会开展重应试或人工处理过程,选项当Try都顺利了,Confirm一定都会顺利。TM公共较厚件的系统机内 创始人当从前公共事务,生成当从前公共事务id,由于Confirm和Cancel不甘心须要重应试,所以它要构建乘法等。在每一步都要提请公共事务,用于的是终于原则上普遍性。
Seata建议 也反对TCC,但是须要构建try confirm cancel三个操作者业务范围侵入普遍性比较强于。
三、可靠死讯终于原则上普遍性
当公共事务发起人方完毕本地公共事务后发出一条死讯,公共事务参与方交还死讯购物开展自身公共事务的处理过程,此种建议只强于调送达到死讯给公共事务参与方且原始数据持续保持终于原则上普遍性。可靠死讯终于原则上普遍性须要妥善解决以下几个难题:
(1)本地公共事务与死讯送达到的离子普遍性难题,即公共事务发起人方在本地公共事务可执行完毕后,须要应有死讯能发出去,本地公共事务和死讯送达到两者要有离子普遍性,要么都顺利要么都不甘心。
(2)公共事务参与方交还死讯的可靠普遍性,公共事务参与方须要要能从死讯队列交还到死讯,交还不甘心可以多次重复交还。
(3)死讯多次重复购物难题,公共事务参与方要应有处理过程死讯处理过程乘法等普遍性。
1.本地死讯列于建议
通过本地公共事务应有公共事务发起人方业务范围操作者顺利时将须要送达到的死讯存一条日志到死讯列于当中,将其标为送达到当中,将死讯通过死讯Web如kafka开展送达到;
死讯交还方接到死讯后开展处理过程,要构建乘法等,处理过程顺利后反过来送达到一条处理过程顺利的死讯给死讯送达到方,送达到方接到死讯后将死讯列于当中相异日志更名送达到顺利;
送达到方通过一个若有战斗任务读写本地死讯列于当中所处送达到当中的死讯,多次重复通过Web送达到死讯,直到接到处理过程顺利的死讯。
借助于ack机制安全及死讯一定送达到到相异topic的partition leader所在的死讯Webbroker上,由死讯交还方构建死讯多次重复购物乘法等。本地业务范围与死讯列于落瓦在同一个本地公共事务当中。
2.RocketMQ建议
RocketMq反对公共事务死讯,应有本地公共事务和死讯送达到的离子普遍性,可执行流程如下所示,以提出申请送到负数解说下可执行流程
RocketMQ共享了一个模块叫RocketMQLocalTransactionListener,其当中有两个方法有一个叫excuteLocalTransaction为当提请(half)prepare死讯顺利后该方法有用认真可执行本地公共事务,重寄给该方法有可执行本地公共事务操作者,调回值就是公共事务的可执行结果;另一个方法有是checkLocalTransaction,该方法有就是用认真检索本地公共事务的可执行结果。须要下定义一个listener去构建RockMQLocalTransactionListener模块,重寄给这两个方法有,构建类上须要用于@RocketMQTransactionListener记事,在记事当中标明这是哪个group的listener(用于rocketMq送达到死讯时须要指明group),在其当中构建可执行本地公共事务和公共事务可执行结果检索的方法有。送达到死讯的时候可以用于UUID等方法有受益一个公共事务id用认真日志公共事务的情况下,便于checkLocalTransaction回查可执行结果,以及在客户末端认真乘法等。
便以提出申请送到负数为例解说下可执行流程:
(1)Producer送达到给客户端增赞负数死讯至MQ Server,MQ Server将此死讯标记为prepared情况下,此时客户是无法购物该死讯的
(2)MQ Server回执Producer死讯仍未交还顺利
(3)Producer可执行本地公共事务,将客户端信息存入原始文档当中,若公共事务可执行顺利则向MQ Server送达到commit死讯,公共事务可执行不甘心就送达到rollback死讯
(4)MQ Server交还到可执行结果死讯后根据死讯多种类型推断是将死讯标为可购物,此时客户就可以经常普遍性购物死讯,还是将该死讯扔掉
(5)当MQ Server长短时间内都没有人交还到公共事务的可执行结果时,就都会借助于Producer共享的回查模块,若有恳请检索本地公共事务可执行结果,通过可执行结果将死讯标记为可购物或扔掉
借助于RocketMq的死讯公共事务机制,将生产者本地原始文档公共事务与送达到死讯到broker绑定在独自,应有当生产者本地原始数据简化顺利便,通告与其共享的其他公共服务原始数据简化的死讯一定都会被寄给入到broker当中;便由客户从broker当中读写死讯,开展处理过程,在customer末端须要应有乘法等,消除多次重复开展原始大大简化过程。当死讯处理过程完毕便,须要寄给入到一张日志列于当中,进行时购物从新死讯时,都要从该列于当中开展检索,看它之从前可否人被处理过程过,如果仍未处理过程过,则同样扔掉或调回与都只可执行相同的结果。如果客户末端处理过程死讯不甘心,阿里给我们的建议是人工开展处理过程,因为如果要字符处理过程的话,那么就须要回滚整个操作者,这个开发业务范围量是甚为从前所未见的,并且这种应是小可能普遍性意外事件。这种方式也就大大进一步提高了的系统的比如说普遍性,共享终于原则上普遍性,那么抵达终于原则上普遍性的短时间越远短,客户端体验就越远良好。
四、仅有期望通告
后面以指导当----司产品再入来举例:
(1)客户端在保险经纪游戏平台首页保险,如果不是YG代扣而是再入方保司同样扣款,则在双击几天后付给时须要绑定保司付给模块,当然匹配当中都会证明了用认真标示该履约的no,付给顺利/不甘心/超时难以实现住址,保司付给模块都会调回付给首页url
(2)当客户端在保司付给首页完毕相应操作者后,保司都会根据我们传递的难以实现住址去开展结果通告
(3)当接到通告后根据根据通告内容简化履约的情况下
(4)当然YG这边还须要有一个若有战斗任务用认真主动去检索某段短时间内的履约情况下,消除没有人接到难以实现通过造成履约情况下不原则上或安全检查当从前履约情况下应正确
(5)发起人通告方也通过一定的机制仅有期望将业务范围处理过程结果通告到交还方,恳请难以实现模块不甘心时按一定的频率开展多次重应试;在右边举的案例当中,保司就是通告方,保险经纪游戏平台就是交还方。
仅有期望通告有以下几天后:
(1)有一定的死讯多次重复通告机制,也就是当保司恳请经纪游戏平台付给结果难以实现模块时如果调回了错误,则须要多次重复推送到通告,例如不甘心后每隔1分钟便通告一次,至少5次后每10分钟通告一次,便至少5次后,每半个每隔通告一次,最多15次;与通告方反对多次重复通告相对的,交还方相对的交还方也须要构建通告死讯处理过程的乘法等
(2)死讯校对机制,如果尽仅有期望也没有人通告顺利,或死讯交还自始通告结果校验的机制,死讯通告方须要共享一个模块用认真让交还方检索操作者处理过程的结果
。长春皮肤病去哪看武汉皮肤病医院挂号咨询
吃几根雪糕会拉肚子
广东包皮过长治疗医院
上海眼科医院挂号
夏天止咳化痰的药物有哪些
皮肤性病
感染内科
小儿口臭
骨科

-
2022年第一“顶流”赛道:微信败给一个上线仅有半个月的虚拟社交
八卦 2025-10-24能视为房地产的公司圈当之无愧的河沟。鹄投资基金创始多家的公司董占斌就曾对此,元银河系为大型企业圈打开了取而代之天窗,极大地顺应了大家对大型企业的期望。大型企业零售商长期讨厌取而代之持续发

-
石板晚评:1月20日期货操作建议
八卦 2025-10-24黑色板块强势运行 间隔性长处对待: 1.螺纹2205:盘中间隔性声浪中阳线报收,整体趋向于水牛,短期承压运行,间隔性长处对待,操纵上重视4660队内承托持续性低多进行,声浪预

-
广东一小伙子用蜡烛充当烧水器,网友:小伙子意念太丰富了
综艺 2025-10-24亦同,东莞一那时候脑洞大开,将燃火烧的爆竹置放于马桶形同充当火烧水器,这一波神操作被发到互联上便,不少网友表示:真的是人才呀,那时候的幽默感实在太丰富了,壁挂炉厂商也可以暂停生产了!

-
国务院印发:《“十四五”东欧国家老龄事业发展和养老服务体系规划》
资讯 2025-10-24国务院报送《“十四五”第三世界老龄志业转型和天和增值体系整体规划》来源:中国政府网新华社广州2月21日电 为贯彻实施积极应对人口过剩第三世界策略,国务院日前报送《“十四五”第三世界老龄

-
女面试官:我和你男朋友谁漂亮?小伙机智回答,当场录取
音乐 2025-10-24转入理打算的跨国企业最关键也是第一步,就是授予甄选官的青睐。既然能够担任母公司招聘人才的极为重要岗位,甄选官在母公司的地位自然是不低。授予他们的好感。不只是能够叩开跨国企业的大门,在此之后也能利息许久