RabbitMQ:简介及安装配置
来源:互联网 发布:超市会员软件 编辑:程序博客网 时间:2024/05/16 09:20
1. 历史
RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。
RabbitMQ是由RabbitMQ Technologies Ltd开发并且提供商业支持的。该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。其实VMWare,Pivotal和EMC本质上是一家的。不同的是VMWare是独立上市子公司,而Pivotal是整合了EMC的某些资源,现在并没有上市。
2. 应用场景
言归正传。RabbitMQ,或者说AMQP解决了什么问题,或者说它的应用场景是什么?
对于一个大型的软件系统来说,它会有很多的组件或者说模块或者说子系统或者(subsystem or Component or submodule)。那么这些模块的如何通信?这和传统的IPC有很大的区别。传统的IPC很多都是在单一系统上的,模块耦合性很大,不适合扩展(Scalability);如果使用socket那么不同的模块的确可以部署到不同的机器上,但是还是有很多问题需要解决。比如:
1)信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失?
2)如何降低发送者和接收者的耦合度?
3)如何让Priority高的接收者先接到数据?
4)如何做到load balance?有效均衡接收者的负载?
5)如何有效的将数据发送到相关的接收者?也就是说将接收者subscribe 不同的数据,如何做有效的filter。
6)如何做到可扩展,甚至将这个通信模块发到cluster上?
7)如何保证接收者接收到了完整,正确的数据?
AMDQ协议解决了以上的问题,而RabbitMQ实现了AMQP。
3.RabbitMQ安装及配置
在Windows下进行rabbitMQ的安装
第一步:软件安装
如果安装rabbitMQ首先安装基于erlang语言支持的OTP软件,然后在下载rabbitMQ软件进行安装(安装过程都是下一步,在此不在说了)
第二步:环境变量配置
如果上面完成安装以后要进行环境变量的配置,首先配置ERLANG_HOME如下图(变量值就是你按照otp软件的路径)
然后在配置RABBITMQ_SERVER如下图(变量值是rabbitMQ的安装路径)
最后进行path的配置如下图(path的值为;%ERLANG_HOME%\bin;%RABBITMQ_SERVER%\sbin;注意是追加)
第三步:启动监控管理器
找到你安装rabbitMQ的路径,然后切换到sbin的文件夹
输入rabbitmq-plugins enable rabbitmq_management命令来启动监控管理器
然后在浏览器输入http:localhost:15672 用户名和密码默认都为guest。
- RabbitMQ:简介及安装配置
- RabbitMQ -- 安装及配置
- RabbitMQ安装及配置
- RabbitMQ的安装及配置
- rabbitMQ安装及简单配置
- Ubuntu安装rabbitMQ及单机版rabbitMQ集群配置
- RabbitMQ消息队列之一:RabbitMQ的环境安装及配置
- CentOS 6.3安装及配置RabbitMQ cluster
- Windows下安装及配置RabbitMQ
- RabbitMq的安装及配置(1)
- Nginx安装及配置简介
- maven简介及安装配置
- Nginx安装及配置简介
- Openfire简介及安装配置
- Redis安装及配置简介
- mahout简介及安装配置
- Redis 简介及安装配置
- Scala 简介及安装配置
- C#实现获取IIS站点及虚拟目录信息的方法
- 安卓 应用程序userID标志位
- 君正X系列开发---GPIO在用户空间使用&platform_device驱动&gpiolib库的使用5
- Android持久化技术
- 机器学习(十七)- SVMs
- RabbitMQ:简介及安装配置
- intellij最常用的快捷键
- 86
- TP系统常量
- 87
- 生成器总览
- 《Unix环境高级编程》总结(五)
- Kotlin系列二(基本语法)
- Linux常用命令和Vim使用