如何保证消息不被重复消费?(如何保证消息队列的幂等性)
**
如何保证消息不被重复消费?
分析问题:先来说一下为什么会造成重复消费?
正常情况下,消费者在消费消息结束之后,会发送一个确认信息给消息队列,消息队列就知道该消息被消费了,就会将该消息从消息队列中删除。只是不同的消息队列发送的确认信息形式不同,例如RabbitMQ是发送一个ACK确认消息,RocketMQ是返回一个CONSUME_SUCCESS成功标志,kafka的每一个消息都有一个offset,kafka消费过消息后,需要提交offset,让消息队列知道自己已经消费过了。
分析问题来源:造成重复消
转载
2021-03-03 10:23:07 ·
429 阅读 ·
0 评论