1 消费者获取消息,如果消费者消费失败,MQ会以间隔的形式实现重试策略;
2 重试过程中,需要保证业务幂等性问题,保证业务不能够重复执行;
3 通过全局的消息ID,提前查询该业务逻辑是否已经执行过,如果执行过则不重复执行;
4 需要在数据库层面保证幂等性问题,主键唯一性约束,乐观锁。
MQ如何保证消息不重复消费?
最新推荐文章于 2024-08-03 23:28:23 发布
1 消费者获取消息,如果消费者消费失败,MQ会以间隔的形式实现重试策略;
2 重试过程中,需要保证业务幂等性问题,保证业务不能够重复执行;
3 通过全局的消息ID,提前查询该业务逻辑是否已经执行过,如果执行过则不重复执行;
4 需要在数据库层面保证幂等性问题,主键唯一性约束,乐观锁。