简介:RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
RabbitMQ服务支持下列操作系统:
- Linux
- Windows
- MacOS
- Solaris
- FreeBSD
- TRU64
- Vxworks
RabbitMQ支持下列编程语言:
- Java
- Python
- Ruby
- Php
- C#
- JavaScript
- Go
- Elixir
- Objective-C
- Swift
主要特性:
- 可伸缩性:集群服务
- 消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存
以上摘自百度百科
RabbitMQ核心:
- Server:Broker,接收客户端的连接,实现AMQP实体服务。
- Virtual host: 虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual Host里面可以有若干个Exchange和Queue,同一个Virtual Host里面不能有相同名称的Exchange或Queue
- Exchange:交换机,接收消息,根据路由键转发消息到绑定的队列。
- Queue:也称为Message Queue,消息队列,保存消息并将它们转发给消费者。
- Routing Key:一个路由规则,虚拟机可用它来确定如何路由一个特定消息。
- Binding:Exchange和Queue之间的虚拟连接,binding中可以包含routing key
- Message:消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级、延迟等高级特性;Body则就是消息体内容。
- Connection:连接,应用程序与Broker的网络连接。
- Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务。
一、安装erlang
1、下载地址
选中一个自己想要的版本进行安装
1.1、默认
1.2、修改安装路径
1.3、默认
1.4、安装完成
二、环境变量配置
2.1、创建一个ERLANG_HOME指向erlang安装路径
2.2、在path里加入
2.3、设置成功后打开命令窗口输入erl回车
若失败可能是环境变量配置不成功,使用绝对路径重新配置
2.4、设置绝对路径
2.5、再次在打开命令行输入erl回车,配置成功
三、安装RabbitMQ
1、下载地址
2、安装
2.1、默认
2.2、修改安装路径
2.3、下一步
2.4、完成
3、安装RabbitMQ-plugins(管理页面,可查看RabbitMQ的exchange(交换器)、queue(消息队列)及routingkey(路由规则/关键词))
3.1、打开rabbitmq命令行、输入:rabbitmq-plugins enable rabbitmq_management
3.2、启动/停止管理工具
启动:net start rabbitmq
停止:net stop rabbitmq
3.3、启动管理工具并浏览
浏览器输入网址:http://localhost:15672,默认账号/密码:guest/guest,RabbitMQ服务访问端口为5672,管理工具端口为15672