RabbitMQ性能优化---rabbitmq-delayed-message-exchange

Posted DonotCTR

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ性能优化---rabbitmq-delayed-message-exchange相关的知识,希望对你有一定的参考价值。

1、使用rabbitmq-delayed-message-exchange插件实现延迟功能

实现原理:

安装插件后会生成新的Exchange类型x-delayed-message,该类型消息支持延迟投递机制,接收到消息后并未立即将消息投递至目标队列中,而是存储在mnesia(一个分布式数据系统)表中,检测消息延迟时间,如达到可投递时间时并将其通过x-delayed-type类型标记的交换机类型投递至目标队列。

延迟任务应用场景

场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。

场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。

场景三:过1分钟给新注册会员的用户,发送注册邮件等。

2、插件安装

RabbitMQ版本为3.7.7

下载插件地址:

https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171201-3.7.x.zip

# unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip
# cp rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/local/rabbitmq/plugins/
# rabbitmq-plugins enable rabbitmq_delayed_message_exchange

以上是关于RabbitMQ性能优化---rabbitmq-delayed-message-exchange的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ MQTT插件源码级性能优化

RabbitMQ消费者性能优化相关配置说明

ELK性能优化实战总结:kafka与rabbitmq

五面拿下阿里飞猪offer,mysql索引优化口诀

从代码层面优化系统性能应该怎么做?

零零好车代码层面优化系统开发性能应该怎么做?