RabbitMQ在Windows下如何安装
什么是RabbitMQ?
RabbitMQ是一个消息代理:它的主要功能是接收和转发消息。 你可以把它想象成一个邮局:当你把你想要邮寄的邮件放在邮箱后,邮递员最终将邮件发送给你的收件人。在这个例子中,RabbitMQ充当的是邮政信箱,邮局和邮递员的角色。
RabbitMQ和邮局的主要区别在于它处理的不是实物邮件,而是接收,存储和转发二进制数据(我们称之为消息)。
在RabbitMQ中,我们有一些常用的术语:
- Producing(消息生产者):在RabbitMQ的使用场景中,Producing表示消息的生产者,它是用来发送消息的。
- Queue(队列):RabbitMQ接收到消息后,会将其存放在队列中。一个队列受到主机内存和磁盘限制的约束,它本质上是一个很大的消息缓冲区。 许多生产者可以发送消息至同一个队列,许多消费者可以从一个队列中接收数据。
- Consuming(消息消费者):消费者又称为接收者,实际就是消息的接收者,
Ps:需要说明的是,在RabbitMQ的使用场景中,Producing、Queue和Consuming无需部署在同一机器上,仅仅需要互相之间网络联通即可。
什么场景会使用RabbitMQ?
了解了什么是RabbitMQ以后,我们来思考一下,什么场景需要使用RabbitMQ?
RabbitMQ其中一个常用场景是分布式异步任务处理功能。
想象一下,在一个分布式系统中,模块A通过HTTP请求调用模块B的接口,而传递给模块B处理的任务又相对复杂,有一定的耗时。
如果是同步请求,所有的请求都等到模块B完整处理完成后再返回模块A的话,一个直接导致的后果是会在模块A和模块B之间阻塞大量的任务。一方面可能会由于给模块B的压力过大导致调度失败,同时也可能由于模块B连接打满无法接收任务。
此时,一种较好的解决方案如下:
模块A将任务信息发送给RabbitMQ即可,然后RabbitMQ将消息发送给模块B进行处理。一方面,避免了长连接导致的模块B无法访问,另一方面,可以通过调度任务处理机制以及部署多个模块B来进行分布式处理从而缓解服务压力。
RabbitMQ的安装
了解了什么是RabbitMQ,什么场景可以使用RabbitMQ以后,我们来看一下如何安装RabbitMQ。
标准安装方式
RabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。
1、安装Erlang
下载地址:https://www.erlang.org/downloads,我是下载了22这个版本
2、安装RabbitMQ
下载地址:http://www.rabbitmq.com/download.html
Windows方式安装地址:http://www.rabbitmq.com/install-windows.html
设置环境变量,新建RABBITMQ_SERVER
path添加%RABBITMQ_SERVER%\sbin;
(1)查看RabbitMQ状态,命令提示符输入:rabbitmqctl status
(2)启用RabbitMQ后台监控管理,命令提示符下输入:rabbitmq-plugins.bat enable rabbitmq_management
可以看到启动了3个插件,这个时候就可以在本地查看RabbitMQ的后台监控了
(3)地址栏输入:http://localhost:15672/ ,账号密码均为guest
登录后即可看到RabbitMQ的各种状态及连接、通道、交换节点、队列等信息了。
相关评论