RabbitMQ

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

RabbitMQ
開發者Pivotal
穩定版本
3.8.5
(2020年6月15日2020-06-15
預覽版本
3.7.27-rc.1
(2020年6月25日2020-06-25
源代码库
编程语言Erlang
操作系统跨平台
类型AMQP面向消息的中间件
许可协议Mozilla公共许可证
网站www.rabbitmq.com

历史

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

RabbitMQ支持下列编程语言[5]

主要特性

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

安装

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. (PDF). Press release. 2007-02-08 [2013-10-23]. (原始内容存档 (PDF)于2012-05-17).
  2. . Press release. 2010-04-13 [2013-10-03]. (原始内容存档于2010-04-18).
  3. . Press release. May 14, 2010 [2013-10-03]. (原始内容存档于2013-06-02).
  4. . RabbitMQ. [2018-09-13]. (原始内容存档于2018-09-13).
  5. . RabbitMQ. [2018-09-13]. (原始内容存档于2018-09-15).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.