
rabbitmq
RabbitMQ是实现了高级讯息伫列协定(AMQP)的开源讯息代理软体(亦称面向讯息的中间件)。RabbitMQ伺服器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的程式语言均有与代理接口通讯的客户端库。
基本介绍
- 中文名:讯息伫列
- 外文名:Message Queue
- 简称:MQ
- 释义:一种程式对程式的通信方法
简介
RabbitMQ是实现了高级讯息伫列协定(AMQP)的开源讯息代理软体(亦称面向讯息的中间件)。RabbitMQ伺服器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的程式语言均有与代理接口通讯的客户端库。
历史
Rabbit科技有限公司开发了RabbitMQ,并提供对其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合资企业,2010年4月被VMware旗下的SpringSource收购。RabbitMQ在2013年5月成为GoPivotal的一部分。
基本概念
RabbitMQ是一套开源(MPL)的讯息伫列服务软体,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
RabbitMQ服务支持下列作业系统:
- Linux
- WindowsNT 到 10
- Windows Server2003 到 2016
- macOS
- Solaris
- FreeBSD
- TRU64
- VxWorks
RabbitMQ支持下列程式语言:
- Python
- Java
- Ruby
- PHP
- C#
- JavaScript
- Go
- Elixir
- Objective-C
- Swift
主要特性
- 可伸缩性:集群服务
- 讯息持久化:从记忆体持久化讯息到硬碟,再从硬碟载入到记忆体
安装
Erlang与RabbitMQ,安装路径都应不含空格符。
Erlang使用了环境变数HOMEDRIVE与HOMEPATH来访问配置档案.erlang.cookie,应注意这两个环境变数的有效性。需要设定环境变数ERLANG_HOME,并把%ERLANG_HOME%\bin加入到全局路径中。
RabbitMQ使用本地computer name作为伺服器的地址,因此需要注意其有效性,或者直接解析为127.0.0.1
可能需要在本地网路防火墙打开相应的连线埠。
参见
- 自由软体主题
- 高级讯息伫列协定(AMQP)
- ØMQ