• 分布式事务解决方案


    目前使用较多的三种分布式事务解决方案:

    一、TCC事务补偿型解决方案

    TCC分为三个阶段TRYING-CONFIRMING-CANCELING。每个阶段做不同的处理。 
    TRYING 阶段主要是对业务系统做检测及资源预留 
    CONFIRMING 阶段主要是对业务系统做确认提交,TRYING阶段执行成功并开始执行CONFIRMING阶段时,默认 CONFIRMING阶段是不会出错的。即:只要TRYING成功,CONFIRMING一定成功。 
    CANCELING 阶段主要是在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放。 
    以上所有的操作需要满足幂等性,幂等性的实现方式可以是: 
    1、通过唯一键值做处理,即每次调用的时候传入唯一键值,通过唯一键值判断业务是否被操作,如果已被操作,则不再重复操作 
    2、通过状态机处理,给业务数据设置状态,通过业务状态判断是否需要重复执行

    TCC事务补偿型

    二、结合MQ消息中间件实现的可靠消息最终一致性解决方案

    可靠消息最终一致性,需要业务系统结合MQ消息中间件实现,在实现过程中需要保证消息的成功发送及成功消费。即需要通过业务系统控制MQ的消息状态。

    可靠消息最终一致性

    三、最大努力通知型解决方案

    按规律进行通知,不保证数据一定能通知成功,但会提供可查询操作接口进行核对。这种方案主要用在与第三方系统通讯时,比如:调用微信或支付宝支付后的支付结果通知。这种方案也是结合MQ进行实现,例如:通过MQ发送http请求,设置最大通知次数。达到通知次数后即不再通知。

    最大努力通知型

  • 相关阅读:
    ip聚合(百度之星资格赛1003)
    encoding(hdoj1020)
    Candy Sharing Game(hdoj1034)
    you can Solve a Geometry Problem too(hdoj1086)
    Holding Bin-Laden Captive!(hdoj1085)代码并未完全看懂
    Computer Transformation(hdoj 1041)
    Digital Roots(hdoj1013)
    humble number(hd1058)
    FatMouse' Trade(hdoj1009)
    1021 Fibonacci Again (hdoj)
  • 原文地址:https://www.cnblogs.com/baizhanshi/p/7904768.html
Copyright © 2020-2023  润新知