问题
如服务器出现问题,消费者频繁处理问题,但是由于是服务器出现的问题,例如网络、或者第三方服务带来的问题,这就造成异常无法处理掉,但是频繁处理、请求第三方,资源浪费,服务器压力打!
出现原因
消费者处理失败之后会重新将消息返回队列,消费者进行获取
解决
增加延迟队列,如果程序数据异常或者网络、第三方服务出现问题,消费者无法正常消费,就丢掉延迟队列中,延迟队列不创建消费者·,绑定死信队列(业务队列生产者),等待时间结束后会将消息重新发给死信队列(业务队列生产者),对应的消费者再次进行消费。
从而避免了重复消费带来的问题,增加一个延迟等待的时间,短时间就不会出现频繁请求的问题。
代码已经丢到了Git、Gitee中,可参考,如有问题欢迎在评论区指出,互勉!谢谢~
由于网络问题,git访问很差,所以将项目同时转移到了gitee
Git地址:https://github.com/wangsh6379/SpringBoot_demo
Gitee地址:SpringBoot_demo: Spring Boot 集成