美文网首页
分布式事务解决方案(MQ)

分布式事务解决方案(MQ)

作者: 独步_fe43 | 来源:发表于2019-10-02 15:02 被阅读0次

    分布式系统的定义:一个用户的请求,由多个系统协同处理

    思路:最终一致性 BASE理论(非实时一致性)

    一.分布式事务的几种解决方案

    1.基于数据库的XA/JTA协议的方式 --需要数据库厂商支持

    2.异步校验数据的方式    --支付宝、微信等主动查询订单的状态、对账单的形式

    3.基于可靠消息 (MQ)的解决方案 --异步场景、通用性强、扩展性强

    4.TCC编程式解决方案--阿里等自己封装的DTX

    二.消息队列中间件(MQ)

    本质:存储数据,独立运行(类似java LinkedBolckQueue)

    没有sql语句、强制结构化数据、强制事务 --功能简单,没数据库那么复杂 --性能比数据库高很多

    mq如何可靠:

    1.如何确保消息一定发送到Mq 

    1).mq有消息发送确认机制--发送者可以收到确认回执(ack)

    2).保存发送mq消息的数据表,保存状态-- 收到回执,修改状态

    3).定时检查消息表是否发送--未发送则重发

    2.确保消息被正确消费

    1).消息消费确认机制--给mq发送回执(ack)

    2).未发送回执,mq会继续推送该消息

    3).程序无法预知异常,需要手动干预(监控监控、短信、微信进行预警、手动干预)

    相关文章

      网友评论

          本文标题:分布式事务解决方案(MQ)

          本文链接:https://www.haomeiwen.com/subject/catrpctx.html