本页使用了标题或全文手工转换

RabbitMQ

维基百科,自由的百科全书
跳到导航 跳到搜索
RabbitMQ
開發者 Pivotal软件
穩定版本
穩定版本
3.7.0
(2017年11月29日 (2017-11-29)
编程语言 Erlang
操作系统 跨平台
类型 AMQP英语Advanced Message Queuing Protocol面向消息的中间件英语Message-oriented middleware
许可协议 Mozilla公共许可证
網站 www.rabbitmq.com
源代码库 github.com/rabbitmq/rabbitmq-server.git

RabbitMQ是实现了高级消息队列协议英语Advanced Message Queuing Protocol(AMQP)的开源消息代理英语Message broker软件(亦称面向消息的中间件英语Message-oriented middleware)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在開放電信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端函式庫

历史[编辑]

Rabbit科技有限公司开发了RabbitMQ,并提供对其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合资企业[1],2010年4月被VMware旗下的SpringSource收购[2]。RabbitMQ在2013年5月成为GoPivotal的一部分[3]

基本概念[编辑]

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

RabbitMQ服务支持下列操作系统:

  • Windows
  • Linux/Unix
  • MAC OS X

RabbitMQ支持下列编程语言:

  • C# (using .net/c# client)
  • clojure (using Langohr)
  • erlang (using erlang client)
  • java (using java client)
  • javascript/node.js (using amqp.node)
  • perl (using Net::RabbitFoot)
  • python (using pika)
  • python-puka (using puka)
  • ruby (using Bunny)
  • ruby (using amqp gem)

主要特性[编辑]

  • 可伸缩性:集群服务
  • 消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存

安装[编辑]

Erlang与RabbitMQ,安装路径都应不含空格符。

Erlang使用了环境变量HOMEDRIVE与HOMEPATH来存取配置文件.erlang.cookie,应注意这两个环境变量的有效性。需要设定环境变量ERLANG_HOME,并把%ERLANG_HOME%\bin加入到全局路径中。

RabbitMQ使用本地computer name作为服务器的地址,因此需要注意其有效性,或者直接解析为127.0.0.1

可能需要在本地网络防火墙打开相应的端口。

为能通过web管理RabbitMQ,进入它的sbin目录,执行:

rabbitmq-plugins enable rabbitmq_management

如果正常,则会显示:

Enabling plugins on node rabbit@CFL1340G:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@CFL1340G...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
started 3 plugins.

即可通过http://127.0.0.1:15672/管理。

参见[编辑]

参考文献[编辑]

  1. ^ Launch of RabbitMQ Open Source Enterprise Messaging (PDF). Press release. 2007-02-08 [2013-10-23]. 
  2. ^ Rabbit Technologies announce acquisition by SpringSource. Press release. 2010-04-13 [2013-10-03]. (原始内容存档于2010-04-18). 
  3. ^ Proudly part of Pivotal. Press release. May 14, 2010 [2013-10-03]. (原始内容存档于2013-06-02). 

外部链接[编辑]