官方网站:https://www.rabbitmq.com
RabbitMQ拥有数万计的用户,是最受欢迎的开源消息队列之一,从T-Mobile到Runtastic,RabbitMQ在全球范围内用于小型初创企业和大型企业。
RabbitMQ轻量级,易于在本地和云端部署,它支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足大规模、高可用性要求。
RabbitMQ在许多操作系统和云环境中运行,并为大多数流行语言提供了广泛的开发者工具。
我们首先还是来看看如何进行安装。
安装消息队列
下载地址:Downloading and Installing RabbitMQ — RabbitMQ
由于除了消息队列本身之外还需要Erlang环境(RabbitMQ就是这个语言开发的)所以我们就在我们的Ubuntu服务器上进行安装。
首先是Erlang,比较大,1GB左右:
sudo apt install erlang
接着安装RabbitMQ:
sudo apt install rabbitmq-server
安装完成后,可以输入:
sudo rabbitmqctl status
来查看当前的RabbitMQ运行状态,包括运行环境、内存占用、日志文件等信息:
- Runtime
-
- OS PID: 13718
- OS: Linux
- Uptime (seconds): 65
- Is under maintenance?: false
- RabbitMQ version: 3.8.9
- Node name: rabbit@ubuntu-server-2
- Erlang configuration: Erlang/OTP 23 [erts-11.1.8] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:64]
- Erlang processes: 280 used, 1048576 limit
- Scheduler run queue: 1
- Cluster heartbeat timeout (net_ticktime): 60
这样我们的RabbitMQ服务器就安装完成了,要省事还得是Ubuntu啊。
可以看到默认有两个端口名被使用:
- Listeners
-
- Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
- Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
我们一会主要使用的就是amqp协议的那个端口5672来进行连接,25672是集群化端口,之后我们也会用到。
接着我们还可以将RabbitMQ的管理面板开启,这样话就可以在浏览器上进行实时访问和监控了:
sudo rabbitmq-plugins enable rabbitmq_management
再次查看状态,可以看到多了一个管理面板,使用的是HTTP协议:
- Listeners
-
- Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
- Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
- Interface: [::], port: 15672, protocol: http, purpose: HTTP API
我们打开浏览器直接访问一下:
可以看到需要我们进行登录才可以进入,我们这里还需要创建一个用户才可以,这里就都用admin:
sudo rabbitmqctl add_user 用户名 密码
将管理员权限给予我们刚刚创建好的用户:
sudo rabbitmqctl set_user_tags admin administrator
创建完成之后,我们登录一下页面:

进入了之后会显示当前的消息队列情况,包括版本号、Erlang版本等,这里需要介绍一下RabbitMQ的设计架构,这样我们就知道各个模块管理的是什么内容了:
