请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

讲师您好,关于解决rabbitmq消息重复消费

我在网上看见的解决方案是在消费端缓存消息的唯一key来甄别重复消息。在有多个消费者对同一队列消费时,如果刚好两个消费者接收到了内容一样的消息,还来不及向缓存里写key,好像也会造成重复消费,对这种问题应该如何解决呢

正在回答

1回答

消息重复是正常的,这个需要让业务在消费端做幂等处理,只要是同一个消息无论处理多少次结果都是一样的,比如:收到了2次转账请求,转账之前先判断是否已经转过了,只有没转的时候才做转账处理,诸如此类

0 回复 有任何疑惑可以回复我~
  • 提问者 慕沐1517900 #1
    呃,在消費端緩存消息的唯一ID,如果消息ID已存在就丟掉该消息,这个不是已经做了幂等了吗?你的意思是在用缓存判断重复的情况下再做一层判断吗
    回复 有任何疑惑可以回复我~ 2020-02-25 10:53:23
  • 若鱼1919 回复 提问者 慕沐1517900 #2
    一般不需要对消息的id判重 而是在业务端做幂等
    回复 有任何疑惑可以回复我~ 2020-02-25 10:54:38
  • 提问者 慕沐1517900 回复 若鱼1919 #3
    对id判重这一步还需要吗
    回复 有任何疑惑可以回复我~ 2020-02-25 10:55:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信