MQ的幂等性问题

*MQ的消息的幂等性

幂等性问题:
1、生产者已把消息发送到mq,在mq给生产者返回ack的时候网络中断,故生产者未收到确定信息,生产者认为消息未发送成功,但实际情况是,mq已成功接收到了消息,在网络重连后,生产者会重新发送刚才的消息,造成mq接收了重复的消息

2、消费者在消费mq中的消息时,mq已把消息发送给消费者,消费者在给mq返回ack时网络中断,故mq未收到确认信息,该条消息会重新发给其他的消费者,或者在网络重连后再次发送给该消费者,但实际上该消费者已成功消费了该条消息,造成消费者消费了重复的消息;

根据项目中实际应用解决:
主要思想:为每一天MQ消息生成一个唯一的ID标识,发送消息时根据ID判断生产者是否发送给该消息,同理消费者消费时,根据ID## 标题判断是否消费过该条消息。

例子:
MQ的幂等性问题
生产者:根据用户号和商品号判断队列里是否有重复的订单
MQ的幂等性问题
消费者:取出来的订单在进行一次判断,是否有消费过该消息。