标签:
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的某些资源,现在并没有上市。
RabbitMQ的官网是:http://www.rabbitmq.com。
2. 应用场景
对于一个大型的软件系统来说,它会有很多的组件或者说模块或者说子系统。那么这些模块是如何通信的呢?这和传统的IPC有很大的区别。传统的IPC很多都是在单一系统上的,模块耦合性很大,不适合扩展(Scalability);如果使用socket那么不同的模块的确可以部署到不同的机器上,但是还是有很多问题需要解决。比如:
信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失?
如何降低发送者和接收者的耦合度?
AMQP协议解决了以上的问题,而RabbitMQ实现了AMQP。
3. 系统架构
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
标签:
原文地址:http://my.oschina.net/fhd/blog/375267