请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 269|回复: 0

java B2B2C Springcloud多租户电子商城系统- 分布式事务

[复制链接]
发表于 2019-1-25 10:36:02 | 显示全部楼层 |阅读模式
  分布式事务是面向服务,微服务架构不可避免的问题,而且为了性能考虑,一般不使用刚性事务,而使用柔性事务。柔性事务中又有可靠消息最终一致性,TCC,最大努力通知三种解决方案。这里来说一说可靠消息最终一致性。
   需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六
   可靠消息最终一致性的实现难点在于如何做到可靠,那么对于任何一个可能导致失败的点都需要做相应的处理,而这些点总结起来其实只需要两个定时任务即可。在这里总结了一张图
图.png

   
   字母表示失败的类型,比如A类型的失败情况为主动方业务未执行,或执行失败,存储状态为待发送状态。
   
   具体说明:
   1、业务执行前增加一个确认阶段
   2、所有的失败归为三类(A,B,C)
   3、A,B类的失败需要一个定时器处理,C类的失败需要一个定时器的处理
   其他的一些细节:
   1、我们必须要规定最大的重发次数,如果超过该次数,则需要标记为死消息。
   2、对于死消息将不被定时任务处理,需要人工进行重发或处理。
   3、对于重发的时间需要做一定的策略,一般重发次数越大,时间间隔越久。
   最后我们来总结一下我们需要实现的内容
   1、主动方需要提供业务是否执行成功的查询接口
   2、被动方需要提供业务是否执行成功的查询接口
   3、消息服务子系统
   需要提供独立的数据库记录消息信息,修改消息信息状态,通过中间件发送消息
   4、消息服务恢复子系统
   主要通过定时任务处理A,B,C类失败信息
   5、统一消息消费子系统
   消息队列的消费者,统一执行各个业务的被动方任务
   到此,基于可靠消息最终一致性的分布式事务解决方案已经总结完了。java B2B2C springmvc mybatis仿淘宝电子商城系统

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-8-21 05:31 , Processed in 0.158018 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表