Rabbitmq
消息系统允许软件, 应用相互连接和扩展, 这些应用可以相互链接起来组成一个更大的应用, 或者将用户设备和数据进行连接。消息系统通过将消息的发送和接收分离来实现应用程序的异步和解耦。
或许你正考虑进行数据投递,非阻塞操作或者推送通知。或许你想要实现发布/订阅, 异步处理, 或者工作队列。 所有这些都可以通过消息系统实现.
Rabbitmq是一个消息代理, 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台, 并且保证消息在传输过程中的安全。
技术亮点
可靠性:
Rabbitmq提供了多种技术可以让你在性能和可靠性之间进行权衡. 这些技术包括持久性机制,投递确认,发布者证实和高可用性机制。
灵活的路由
消息在到达队列钱是通过交换机进行路由的,Rabbitmq为典型的路由逻辑提供了多种内置交换机类型。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至可以实现自己的交换机类型,并且当做Rabbitmq的插件来使用。
集群
在相同局域网中的多个Rabbitmq服务器可以聚合在一起,作为一个独立的逻辑代理来使用。
联合
对于服务器来说,它比集群需要更多的松散和非可靠链接。为此Rabbitmq提供了联合模型。
高可用的队列
在同一个集群里,队列可以被镜像到多个机器中,以确保当其中某些硬件出现故障后,你的消息仍然安全。
多协议
Rabbitmq支持多种消息协议的消息传递。
广泛的客户端
只要是你能想到的编程语言几乎都有与其适配的Rabbitmq客户端。
可视化管理工具
Rabbitmq附带了一个易于使用的可视化管理工具,它可以帮助你监控消息代理的每一个环节
追踪
如果你的消息系统有异常行为,Rabbitmq还提供了追踪的支持,让你能够发现问题所在。
插件系统
Rabbitmq附带了各种各样的插件来对自己进行扩展。你甚至也可以写自己的插件来使用。
等等...
Rabbitmq安装
第一步: 下载并安装erlang
为什么要先下载安装erlang? 因为Rabbitmq服务端代码时使用并发式语言Erlang编写的,安装Rabbitmq的前提是安装Erlang。
下载地址: http://www.erlang.org/downloads
安装完后记得要配置一下系统的环境变量
"环境变量-->新建系统环境变量"
变量名: ERLANG_HOME
变量值: erlang的安装地址, 点击确认。然后双击系统变量path
点击"新建", 将%ERLANG_HOME%\bin加入到path中
然后点击确认
最后windows键+R键, 输入cmd,在输入erl,看到版本号就说明erlang安装成功了
第二步: 下载并安装Rabbitmq
下载地址: http://www.rabbitmq.com/download.html
双击下载好的exe文件, 安装过程和erlang安装过程相同
RabbitMq安装好后记得将Rabbitmq配置到系统的环境变量(和上面类似, 系统变量需要改为%RABBITMQ_HOME%\sbin)
配置好系统环境变量后, 后面开始安装RabbitMQ-Plugin。打开命令行cd, 输入Rabbitmq的sbin目录。
然后在后面输入rabbitmq-plugins enable rabbitmq_management命令进行安装
访问https://localhost:15672/#/, 然后可以看到如下界面
默认用户名和密码都是guest
登录后看到如下界面
Rabbitmq和Erlang版本对应图
RabbitMQ version |
Minimum required Erlang/OTP |
Maximum supported Erlang/OTP |
Notes |
|
|
|
|
- 3.8.15
- 3.8.14
- 3.8.13
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.9
|
|
|
|
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
|
|
|
|
|
|
|
- Erlang 22.x is recommended.
- Erlang 22.x dropped support for HiPE
|
- 3.7.27
- 3.7.26
- 3.7.25
- 3.7.24
- 3.7.23
- 3.7.22
- 3.7.21
- 3.7.20
- 3.7.19
|
|
|
|
- 3.7.18
- 3.7.17
- 3.7.16
- 3.7.15
|
|
|
|
- 3.7.14
- 3.7.13
- 3.7.12
- 3.7.11
|
|
|
|
|
|
|
|
- 3.7.6
- 3.7.5
- 3.7.4
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
|
|
|
- For the best TLS support, the latest version of Erlang/OTP 20.x is recommended
- Erlang versions prior to 19.3.6.4 have known bugs (e.g. ERL-430, ERL-448) that can prevent RabbitMQ nodes from accepting connections (including from CLI tools) and stopping
- Versions prior to 19.3.6.4 are vulnerable to the ROBOT attack (CVE-2017-1000385)
- On Windows, Erlang/OTP 20.2 changed default cookie file location
|
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
- On Windows, Erlang/OTP 20.2 changed default cookie file location
- Versions prior to 19.3.6.4 have known bugs (e.g. ERL-430, ERL-448) that can prevent RabbitMQ nodes from accepting connections (including from CLI tools) and stopping
- Versions prior to 19.3.6.4 are vulnerable to the ROBOT attack (CVE-2017-1000385)
|
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
|
|
|
- RabbitMQ 3.5 was released on 2015-03-11, and reached end of life on 2016-10-31, we strongly discourage its use
|
|
|
|
- RabbitMQ 3.4 was released 2014-10-21, and reached end of life 2015-10-31, we strongly discourage its use
|
RabbitMQ简介和安装