假设ACK失败的场景

来源:2-13 Rabbitmq高级特性-消费端特性讲解_流控服务和ACK重回队列

WittChen

2021-11-21 14:54:40

问题描述:

问题场景:消费端消费消息的时候数据需要入库,假设数据库宕机了,那么就会报错,就执行不到手动ACK的语句,那么这个时候,mq中的消息其实还是存在的,因为没有被确认就会一直存在,那么我数据库重启好了,这个消息怎么处理

尝试过的解决方式:

重启消费端可以处理这条消息,初次之外还有其他方法吗

写回答

1回答

阿神

2021-12-03

根据幂等性,要通过数据库的唯一标识(唯一约束)

0

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程