RabbitMQ的死信队列的应用

●【项目实战】 同时被 3 个专栏收录
88 篇文章 4 订阅
29 篇文章 7 订阅
6 篇文章 4 订阅

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

【前言】

       最近在项目中用到了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、给客户的体验感好了,异步处理后,不需要等待同步的结果;

  • 11
    点赞
  • 8
    评论
  • 15
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值