一、RabbitMQ简介
RabbitMQ是部署十分广泛的开源消息代理(消息中间件),拥有大量用户,小型创业公司到大型企业都在使用。
- 特点
- 轻巧,本地、云环境都容易部署;
- 支持多种消息协议;
- 支持分布式、集群部署,满足高可用、大吞吐量场景;
- 跨语言:Java、.NET、PHP、Python、JavaScript、Ruby、Go等主流语言都有开发工具支持。
- 核心能力
- 异步消息;
- 多消息协议、消息队列、消息确认机制;
- 灵活路由,多种交换机类型;
- 集群部署实现高可用、高吞吐;
- 多区域联合部署。
二、AMQP核心概念
| 名词 | 说明 |
|---|---|
| Broker(Server) | RabbitMQ服务进程,接收客户端连接,实现队列、消息路由功能,即RabbitMQ服务器 |
| Virtual Host(Vhost)虚拟主机 | 虚拟隔离单元,内部可包含多个Exchange、Queue;用于做权限控制、应用隔离。不同业务使用不同vhost,用户只能访问分配给自己的vhost |
| Exchange交换机 | 接收生产者消息,按照Binding绑定规则,把消息路由分发到队列;交换机类型决定路由行为; 类型: Direct、Fanout、Topic、Header |
| Queue队列 | 存储未被消费者消费的消息;FIFO先进先出 |
| Message消息 | 由Header + Body组成 • Header:生产者设置属性,持久化、路由队列、优先级等 • Body:真实业务数据,字节数组byte[] |
| Connection连接 | 客户端与Broker之间的TCP物理连接 |
| Channel信道 | 在Connection之上的逻辑信道,AMQP命令必须通过Channel执行; 一个TCP连接可以开多个Channel; 目的:TCP创建销毁开销大,复用TCP连接,多个信道逻辑隔离,减少资源消耗 |
注意:有TCP Connection还不能直接发消息,必须创建Channel信道。
三、安装前置:Erlang语言环境
RabbitMQ使用Erlang语言开发,安装RabbitMQ之前,必须先安装对应版本Erlang环境。
- Erlang:爱立信开发,面向大规模并发的编程语言,擅长高并发场景。
版本匹配
参考官方:https://www.rabbitmq.com/which-erlang.html 示例版本:RabbitMQ 3.8.x(3.8.0~3.8.3)
- 兼容Erlang:
21.3、22.x,推荐Erlang22.2 - Erlang22.x不再支持HiPE
四、下载地址
- RabbitMQ官网下载页:https://www.rabbitmq.com/download.html
- RabbitMQ Windows安装包示例(3.8.3)
https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.8.3/rabbitmq-server-3.8.3.exe
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3.exe
Code language: JavaScript (javascript)
- Erlang下载地址:http://www.erlang.org/download/ Windows示例安装包:
otp_win64_22.2.exe
五、Windows安装步骤
- 优先安装Erlang:双击
otp_win64_22.2.exe完成安装; - 再安装 RabbitMQ:双击 rabbitmq-server-3.8.3.exe;
- 安装完成后,使用程序菜单里面的选项,完成RabbitMQ的启动、停止操作。



Next: RabbitMQ 启用