RabbitMQ
Encyclopedia
RabbitMQ is an open source message broker
software (message-oriented middleware
), using the standard Advanced Message Queuing Protocol
(AMQP). The RabbitMQ server is written in Erlang and is built on the Open Telecom Platform framework for clustering and failover. Rabbit Technologies Ltd., acquired in April 2010 by VMware
, develops and provides support for RabbitMQ. The source code is released under the Mozilla Public License
.
The RabbitMQ project consists of several parts:
Message broker
Message broker is an intermediary program which translates the language of a system from one internationally recognized language to another by way of a telecommunications medium.-Pattern:...
software (message-oriented middleware
Message-oriented middleware
Message-oriented middleware is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple...
), using the standard Advanced Message Queuing Protocol
Advanced Message Queuing Protocol
The Advanced Message Queuing Protocol is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing , reliability and security.AMQP mandates the behaviour of the messaging provider and client to the extent...
(AMQP). The RabbitMQ server is written in Erlang and is built on the Open Telecom Platform framework for clustering and failover. Rabbit Technologies Ltd., acquired in April 2010 by VMware
VMware
VMware, Inc. is a company providing virtualization software founded in 1998 and based in Palo Alto, California, USA. The company was acquired by EMC Corporation in 2004, and operates as a separate software subsidiary ....
, develops and provides support for RabbitMQ. The source code is released under the Mozilla Public License
Mozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
.
The RabbitMQ project consists of several parts:
- The RabbitMQ exchange server itself
- Gateways for HTTP, XMPPExtensible Messaging and Presence ProtocolExtensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...
and STOMPStreaming Text Orientated Messaging ProtocolStreaming Text Oriented Message Protocol , formerly known as TTMP, is a simple text-based protocol, designed for working with Message Oriented Middleware. It provides an interoperable wire format that allows STOMP clients to talk with any Message Broker supporting the protocol...
protocols - AMQP client libraries for JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
and .NET Framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
. (AMQP clients for other languages are available from other vendors) - The "Shovel" plug-in that takes care of copying (replicating) messages from one broker to another