Messaging enables software applications to connect and scale. Applications can connect to each other, as components of a larger application, or to user devices and data. Messaging is asynchronous, decoupling applications by separating sending and receiving data.
vFabric RabbitMQ is a messaging broker, an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until they are received.
vFabric RabbitMQ lets you implement message patterns such as data delivery, non-blocking operations, push notifications, publish/subscribe, asynchronous processing, and work queues. It is a versatile business messaging solution, with a range of use cases across many platforms and protocols.
Flexible routing. Messages are routed through exchanges before arriving at queues. vFabric RabbitMQ features several built-in exchange types for typical routing logic. For more complex routing you can bind exchanges together or even write your own exchange type as a plugin.
Publish/subscribe. A message is sent to multiple consumers. A typical use case is a logging system where every running copy of the receiver program gets the messages. One receiver directs the logs to disk; at the same time another receiver shows the logs on the screen.
Clustering. Several vFabric RabbitMQ servers on a local network can be clustered to form a single logical broker.
Federation. Federation offers an alternative distributed messaging model for servers that need to be more loosely and unreliably connected than clustering allows.
Work queues. Work queues distribute time-consuming tasks among multiple worker processes. You avoid doing a resource-intensive task immediately and waiting for it to complete. Instead you encapsulate a task as a message, send it to a queue, and schedule it to be done later. Work queues are especially useful in web applications where it is impossible to handle a complex task during a short HTTP request window.
Highly availability. You can mirror queues across several machines in a cluster, ensuring that even in the event of hardware failure your messages are safe.
Management UI. vFabric RabbitMQ ships with an easy-to use management user interface that allows you to monitor and control every aspect of your message broker.
Tracing. If your messaging system is not working properly, you can use the firehose feature to inspect every message that is published and every message that is delivered, per node and per vhost.
Wide-ranging operating system, client, and language support.. vFabric RabbitMQ implements support for all major operating systems and is compatible with clients written in many languages.
Plugin system. vFabric RabbitMQ ships with a variety of plugins, extending it in different ways, and you can also write your own.
Internal flow control. This feature can limit memory use and make performance more predictable if the server is overloaded.
Dead lettering ("Dead Letter Exchanges" subsection). When you declare a queue, dead lettering enables you to specify an exchange to which messages are redirected when they are rejected or expire.
Compatibility with Erlang R15B. Erlang R15B allows native operation on 64-bit Windows.
Commercial support. Commercial support, training, and consulting are available from VMware.
Community support, with client and developer tools.There are community-contributed RabbitMQ clients written in almost every language, plug-ins, guides, and so forth. Join the mailing list to get involved.