【消息中间件篇03】RabbitMQ消息重复消费问题

58 阅读1分钟

知识点

什么情况下会导致消息的重复消费/

image.png

基于消费者的自动确认机制而言,当发送ack时,遇到网络抖动或者消费者挂了,我们设置的重试机制(消费者重启);都将会重新消费之前的消息。这就是我们所要谈的重复消费问题。

重复消费解决方案

  1. 每条消息都设置一个唯一的标识id
  2. 幂等方案(分布式锁、数据库锁(悲观锁、乐观锁))

重复消费解决方案通用性

  • kafka
  • RabbitMQ
  • ActiveMQ
  • RocketMQ
  • ....