分布式事务-消息补偿机制

1、微服务-中间件-消息组件

生产者

    发出带流水号(唯一)订单消息。调用消息组件。

消息组件

分布式事务-消息补偿机制

  • 消息组件-消息表:id为生产者的流水号。(具备幂等性)
  • 生产者发布请求,查询消息表,判断流水号是否存在,存在,不发送到mq;不存在:发送到mq,消息表插入记录,消息状态为“已发送”。
  • 收到消费者反馈,处理完成请求。将消息置为“处理成功”。
  • 补偿机制-定时任务,不仅仅要mq自身的重试机制,还要有任务补偿机制,即扫描消息表,状态=“已发送”且发送时间>当前时间-n(n不为0)的数据进行重试,要有时间间隔。

消费者

    收到mq消息,调用消息组件。

转载于:https://my.oschina.net/u/182501/blog/1548011