天天看点

RabbitMQ入门(一)

官网:https://www.rabbitmq.com

RabbitMQ是一款在全球范围内使用非常广泛的开源消息队列中间件。它轻量级、易部署、并支持多种协议。它基于Erlang开发,天生拥有高并发的能力。

生产者:

产生消息的进程或服务

消费者:

接收消息的进程或服务

队列:

RabbitMQ是消息队列中间件,而真正储存消息数据的就是队列,队列可以有很多。

交换器:

类似于网络设备交换机,它可以根据不同的关键字,将消息发送到不同的队列。

RabbitMQ入门(一)

虚拟主机:

虚拟主机类似于Apache的虚拟主机,如果没有虚拟主机,当RabbitMQ中的数据越来越庞大,队列越来越多,随之而来的是令人头痛的管理问题,比如队列、交换器命名冲突,它们相互影响等等。虚拟主机能够解决这些问题,而不需要我们部署多个RabbitMQ来负责不同的业务。

虚拟主机提供了资源的逻辑分组和分隔,每一个虚拟主机本质上是mini版的RabbitMQ服务器,他们有用自己的连接、队列、绑定、交换器,更重要的是有用自己的权限机制,这有点类似服务器和运行在服务器上的虚拟机一样。

官方文档: https://www.rabbitmq.com/install-rpm.html

安装erlang:

安装RabbitMQ:

启动:

开启web管理控制台:

此时可以通过<code>http://ip:15672</code> 来访问rabbitmq的web管理控制台,用户名密码都是<code>guest</code>。

RabbitMQ入门(一)

但是有个限制,只允许127.0.0.1访问,所以还需在本机配置一个nginx代理。

配置Nginx代理:

在电脑上hosts文件增加一行:<code>192.168.30.128 rabbitmq.test.com</code>,访问网页并登录

RabbitMQ入门(一)
RabbitMQ入门(一)

对于RabbitMQ的web管理控制台,角色有以下几种:

(1) 超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 (2) 监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)。 (3) 策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下),同时可以对policy进行管理。但无法查看节点的相关信息。 (4) 普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 (5) 其他 无法登陆管理控制台,通常就是普通的生产者和消费者。
说明:用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。
例如:将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。

继续阅读