美文网首页
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消息幂等

    三种: at-least-once 至少一次没收到确认消息就重试,需要consumer自己保证幂等 at-most...

  • MQ消费端的幂等

    MQ消费端在接收到MQ消息之后按照业务key(uuid)进行防重,达到消费的幂等性。 业务场景 用户在使用白条优惠...

  • 【MQ消息】

    本文主要介绍MQ高可用性、消息幂等性、消息丢失的问题。 为什么使用消息队列?解耦、异步、削峰 如何保证消息队列的高...

  • 4-2 消息幂等性

    幂等性是什么? 用户对于同一操作发起的一次或者多次请求,最后的结果都是相同的,这就是幂等性 在MQ中就是保障消息不...

  • mq消费幂等总结

    mq消费幂等总结针对mq新增场景:1、单个新增:1)首先查本地db是否已存在,存在则幂等2)加redis乐观锁,加...

  • mq如何保证消息的幂等性

    一、出现非幂等性的情况 1、生产者已把消息发送到mq,在mq给生产者返回ack的时候网络中断,故生产者未收到确定信...

  • MQ之如何做到消息幂等

    一、缘起 MQ消息必达,架构上有两个核心设计点: (1)消息落地 (2)消息超时、重传、确认 再次回顾消息总线核心...

  • Kafka设计解析(三)恰好一次和事务消息

    1.幂等消息 为了解决重试导致的消息重复、乱序问题,kafka引入了幂等消息。幂等消息保证producer在一次会...

  • 消息幂等

    介绍: 幂等就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的。消息幂等是消费者在消费消息中间件的时候,...

  • redis分布式锁

    1、原理 2、redission (1)lock()源码 (2)看门狗 (3)redlock算法 (4)mq消息幂...

网友评论

      本文标题:MQ消息幂等

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