防止RabbitMQ重复消费
消息重复消费的弊端:消息重复消费可能会出现数据不一致/数据冗余问题,在后期的查找返回一个对象的场景时会出现异常。
保证消息幂等性的方式:
- 消费者将消息存储到 set/hashMap 中,进行去重/计数,根据结果来判断消息是否处理。
- 对db进行插入操作时,对数据进行查询,如果存在,则不进行操作。
- 在消息中使用全局 ID ,并向 Redis 中进行查询,若存在则不进行处理。
消息重复消费的弊端:消息重复消费可能会出现数据不一致/数据冗余问题,在后期的查找返回一个对象的场景时会出现异常。
保证消息幂等性的方式:
- 消费者将消息存储到 set/hashMap 中,进行去重/计数,根据结果来判断消息是否处理。
- 对db进行插入操作时,对数据进行查询,如果存在,则不进行操作。
- 在消息中使用全局 ID ,并向 Redis 中进行查询,若存在则不进行处理。