消息队列(Message Queue,简称MQ)是指保存消息的一个容器,它的本质是一个队列。消息队列是一种应用程序之间通过异步通信进行数据交换的通信模式,它可以用于将消息从一个应用程序发送到另一个应用程序,实现解耦、并发处理、削峰填谷等功能。
1、异步处理:消息队列常用于实现异步处理,例如将用户请求放入队列,然后由后台进程或服务逐个处理。这可以提高应用程序的响应速度,前端可以快速返回,而后端可以逐步处理任务。
2、系统解耦:消息队列可以解耦不同组件、模块或微服务之间的依赖关系。消息发送者将消息发送到队列后迅速返回而不用关心谁去处理、如何处理,这使得各组件可以独立开发与运行。
3、削峰填谷:在流量波动大的场景下,消息队列可以用来缓冲和平滑处理峰值流量,防止系统过载,同时避免资源浪费。
目前常用的消息队列有:RabbitMQ、RocketMQ、Kafka等。
RabbitMQ是一个由Erlang语言编写的消息中间件,它遵循AMQP协议,提供了稳定可靠的消息传输服务,所以在安装RabbitMQ之前需要先安装Erlang。
1、本文示例通过yum安装rpm包的方式安装Erlang和RabbitMQ。
2、安装Erlang运行环境。
3、检查Erlang是否安装成功。
4、安装RabbitMQ。
1、启动RabbitMQ服务。
2、查看RabbitMQ服务。
3、停止RabbitMQ服务。
4、重启RabbitMQ服务。
1、启用RabbitMQ管理后台。
2、创建管理后台用户并设置密码。
3、设置用户角色。