美文网首页
MQ消息幂等

MQ消息幂等

作者: 响响月月 | 来源:发表于2018-11-01 10:03 被阅读0次
    三种:
    • at-least-once 至少一次
      没收到确认消息就重试,需要consumer自己保证幂等
    • at-most-once 最多一次
      不重试
    • exactly-once
    上半场幂等

    Client -> MQ-Server -> DB ->(插入确认ACK) Client

    • 问题:若Client没收到确认,会认为没有插入成功,会重发给MQ-Server
    • 分析:MQ-Server收到msg需要确认是否已经插入
    • 解决:为MQ-Server生成id
      (1) 全局唯一
      (2) MQ生成,对发送接收方屏蔽
    下半场幂等

    MQ-Server -> Client -> (确认消费成功) -> MQ-Server -> DB

    • 问题:若MQ-Server没有收到确认消费成功,会认为没有消费,会重发给Client,导致重复消费
    • 分析:Client收到msg需要确认是否已经消费
    • 解决:业务id
      (1) 对同一业务场景,全局唯一
      (2) 消息发送方生成,对MQ透明
      例子:支付ID,订单ID,帖子ID等。

    相关文章

      网友评论

          本文标题:MQ消息幂等

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