rabbitmq :开源消息代理软件

更新时间:2023-09-20 14:04

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服务支持下列操作系统:

- Linux

- Windows, NT 到 10

- Windows Server 2003 到 2016

- Mac OS

- Solaris

- FreeBSD

- TRU64

- VxWorks

RabbitMQ支持下列编程语言

- Python

- Java

- Ruby

- 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

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: