rabbitmq

開源消息代理軟體

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
● Windows, NT 到 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