rabbitmq
开源消息代理软件
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
开发历史
Rabbit科技有限公司开发了RabbitMQ,并提供对其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合资企业,2010年4月被威睿旗下的SpringSource收购。
RabbitMQ在2013年5月成为GoPivotal的一部分。后于2019年12月,RabbitMQ再次被VMWare收购。
自2020年11月以来,RabbitMQ提供了商业版本,用于支持和企业功能:“VMware RabbitMQ OVA”“VMware RabbitMQ”和“VMware RabbitMQ for Kubernetes”(不同的功能级别)。Bitnami还为威睿的Tanzu应用程序服务打包了开源RabbitMQ,并提供商业支持。
功能特色
基本概念
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。除了AMQP,RabbitMQ还通过插件支持STOMP、MQTT等协议。
RabbitMQ服务支持下列操作系统:
- Windows, NT 到 10
- Windows Server 2003 到 2016
- TRU64
- VxWorks
RabbitMQ支持下列编程语言
- Java
- PHP
主要特性
可伸缩性:集群服务。
消息持久化:从内存持久化消息到HDD,再从硬盘加载到内存。
插件系统:提供了用于可扩展性的插件平台,具有预定义的一组支持的插件集,如“Shovel”“Federation”和“Management”插件。
多协议支持:通过插件架构扩展以支持STOMP、MQTT等协议。
安装
Erlang与RabbitMQ,安装路径都应不含空格符。Erlang使用了环境变量HOMEDRIVE与HOMEPATH来访问配置文件erlang.cookie,应注意这两个环境变量的有效性。需要设定环境变量ERLANG_HOME,并把%ERLANG_HOME%\bin加入到全局路径中。RabbitMQ使用本地计算机 name作为服务器的地址,因此需要注意其有效性,或者直接解析为127.0.0.1。可能需要在本地网络防火墙打开相应的端口。
参见
高级消息队列协议(AMQP)
ØMQ
参考资料
目录
概述
开发历史
功能特色
参考资料