0%

消息重复消费问题

消息重复消费问题

为什么会出现重复消费

正常情况下,消费者消费消息完毕后,会发送一个确认信息给消息队列,消息队列收到确认后会将该消息从消息队列中移除,但是可能因为网络传输故障等问题,确认信息没有传送到消息队列,导致消息队列不知道消费者已经消费过该消息,会再次将消息发送给消费者

如何解决呢

在消息中加入一个唯一id,如果数据库中已经存在了这个唯一id,则不会再次进行消息入库操作,从而避免了重复消费