Cash Loan(四):RabbitMQ的死信队列的应用

【前言】

       最近在项目中用到了RabbitMQ来做异步处理,自己将这块儿系统的搞了搞,下面主要记录一下自己在研究过程中对死信队列的一些研究。

【实践】

        一、如何配置死信队列?

               1、增加死信队列(exchange-ttl-to.queue

 

               2、增加死信交换机exchange-ttl-to并绑定死信队列

 

               3、配置正常的队列(exchange-ttl-from.queue

 

               4、增加正常的交换机(exchange-ttl-from

 

        二、用代码进行相关测试:

               1、生产者进行添加,20s后不进行消费,发现消息从正常的队列进入了死信队列;

               2、生产者进行添加,消费者进行消费;

               3、设置死信队列要根据具体的业务场景去应用,一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续处理;               

        三、利用jemeter进行压力测试:

               1、向正常队列中压入1000条消息,生产者不消费,过20s后发现进入死信队列;

               2、向正常队列中压入1000条消息,消费者一直在消费,看20s后消费者能消费多少条消息;        

     

【总结】

       1、对程序进行异步处理后可以缓解一方产生块另一方消费慢的问题;

       2、可以实现延迟处理的功效:数据上来后先进入正常的queue中(根据业务设置相应的失效时间【延迟时间】)进入死信队列,消费者消费死信队列中的数据;注:正常queue没有消费者,死信queue有消费者;

       3、给客户的体验感好了,异步处理后,不需要等待同步的结果;

猜你喜欢

转载自blog.csdn.net/u012829124/article/details/79519085