Get Started with RabbitMQ
The links listed below highlight some of our favourite content on this site and the
web that will help you get started with messaging and RabbitMQ.
For even more you can explore RabbitMQ links on del.icio.us.
If you feel we have missed something please feel free to suggest more links.
Overviews and introductions
-
Alexis' Introduction to RabbitMQ
Alexis' presentation at Thoughtworks 'London Geek Night', May 2009, where
he introduces RabbitMQ “An open source message broker that just works”.
-
Introduction to AMQP and Messaging with RabbitMQ
Presentation by Dmitriy Samovskiy on slideshare.net. Good primer on
AMQP messaging concepts and RabbitMQ in general.
-
The RabbitMQ Team's Introduction to RabbitMQ and AMQP
A video of the RabbitMQ team presenting their Tech Talks at Google London,
Oct 2008. Alexis explains what is meant by messaging and why you might need
a messaging broker. Matthias provides a technical overview of the RabbitMQ
broker and why Erlang was the right choice to implement it. Tony then
discusses the future of RabbitMQ and AMQP with a focus on messaging at
internet scale.
-
A technical look at RabbitMQ and Erlang
Matthias' slides from a talk at FITEclub in 2009 where he presents a technical overview of RabbitMQ
-
Getting Started with AMQP and RabbitMQ
Article on infoq.com by Joern Barthel that provides an excellent discussion
the AMQ model and its implementation in RabbitMQ. Lots of code examples
are provided in Ruby.
-
RabbitMQ: python and ruby staring at the looking glass
A slide show from Paolo Negri that offers an excellent introduction to the AMQP
model and RabbitMQ with code samples in python and ruby. He explores the
different routing models available and goes on to explain a number of use cases
and some common messaging patterns, including pubsub.
-
The Attention Deficit Disorder Guide to RabbitMQ
Blog post for those who want to get started with RabbitMQ quickly and
easily. Assumes you know the basics about messaging and AMQP.
-
RabbitMQ and Messaging in General
Slides from a presentation by Lenz Gschwendtner at erlounge in
Wellington, July 2009. Another great introduction.
-
Rabbits and Warrens
Blog post. Provides and excellent introduction to messaging, RabbitMQ,
AMQP and using them with Python. Well worth a read for ophidians and
non-ophidians alike.
-
Wikipedia on AMQP
Read all about AMQP including the origins of the protocol, the AMQP model
and the other specifications that cover the same or similar space as AMQP.
-
Databases Suck for Messaging
Slides from presentation given by Alexis at Oxford Geek Night, May 2009.
Examination of why messaging architectures beat database polling for
pubsub.
-
RabbitMQ Internal Architecture
Talk by Tony Garnock-Jones at Google London, May 2009. Explains the
internals of RabbitMQ and how RabbitMQ can be used in federation and
achieving redundancy for high availability.
-
RabbitMQ on del.icio.us
We present a list of useful searches on the social bookmarking site.
Specific Configurations
We support numerous operating system platforms. RabbitMQ is available for
numerous Linux and Unix formats - see the full list on our download page.
RabbitMQ is available as a Windows package where it can be run as a service.
RabbitMQ installs have been created by the community for OpenSolaris, MacOSX,
BSD and Gentoo. Please contact us if you cannot find what you need.
- Java development:
- Ruby development:
- Python development:
- .Net development:
- PHP:
- Perl development:
- Web messaging:
- Experimental RabbitMQ-C client.
You can also try this community C Client,
and also a port of this client to d
- Erlang development
- Lisp development:
-
RabbitMQ on OpenVMS
A port of RabbitMQ to the OpenVMS operating system.
- Stomp
-
XMPP adaptor. See also "rabbiter", an experiment in
decentralised microblogging
- Scala/Lift
-
RabbitMQ and Scala
- a popular tutorial and screencast that should be of interest for users of other languages too.
-
CL-RABBIT, an interface from LispWorks to RabbitMQ
-
rabbitmq-memcached
A memcached adapter for RabbitMQ that allows you use the memcache protocol to
get or publish a message from or to RabbitMQ.
-
amqp-utils
Command line utils for interacting with an AMQP based queue.
-
amqp-relay
A simple service to relay all messages from a topic exchange to another
RabbitMQ broker instance. Think of Shovel, just in Scala.
-
RabbitCage
An AMQP firewall which allows you to restrict user access to RabbitMQ using ACLs.
-
pg_amqp
An AMQP extension for PostgreSQL.
-
Fudge Messaging Format
Fudge is a data encoding system that is hierarchical, typesafe, binary and self-describing. It works with HTTP, JMS and AMQP.
-
amqpfs
AMQP file system interface
-
RabbitMQ Clients on del.icio.us
More links to various client configurations on the social bookmarking site.
Cloud Configurations
Management and Monitoring
Management and monitoring tools are provided by RabbitMQ
and several new community tools have appeared for 'dashboard' access to core
management functionality. Please treat these as experimental and send
feedback to the list.
-
Cony
A HTTP based service written in Python for providing insight into running
RabbitMQ processes.
-
Trixx
An administration and monitoring tool written in Clojure so available for all
languages that run on JVM.
-
Alice and
Wonderland
Provide RESTful administration and monitoring of RabbitMQ nodes and a
WebUI. Please read the release notes first.
-
Chef Cookbook
Ben Black's cookbook for managing RabbitMQ with Chef.
-
RabbitMQ Status Plugin
A plugin for RabbitMQ that provides a status page over HTTP showing memory,
file descriptors and Erlang PIDS usage. You can also see basic information
about connections and queues.
-
Rabbitmq SNMP Plugin
An experimental RabbitMQ plugin to provide SNMP statistics, developed by Scott Brooks. It includes the ability
to trace message delivery to queues so that you can pull the total number of messages delivered.
-
Monitoring RabbitMQ with Zabbix
A simple example of how to configure Zabbix (an open source monitoring and
graphing tool) to keep track of the number of messages pending delivery and
the total number of queues.
-
Humpty
A Sinatra/Ruby application to administer RabbitMQ over REST (via alice)
and AMQP.
-
RabbitMQ Management and
RabbitMQ Monitoring on del.icio.us
More links to what others are doing to manage and monitor RabbitMQ.
Messaging Patterns and Common Scenarios
Specific Use Cases and Examples
-
Unibet [PDF 10.3 MB]
Stefan Norberg's presentation on use of RabbitMQ and Kaazing and Terracotta for European scale real time betting at Unibet.
-
NASA's NEBULA Cloud Computing Platform
Overview of how NASA are using RabbitMQ in their Nebula SaaS platform. Please also see
this interview with The Register and
these slides
from Chris C. Kemp, the CIO of NASA Ames Research Center, and the thought-leader behind the NEBULA project.
-
Application of RabbitMQ at the BBC
Video of a talk by Mike Bridgen at Google London, May 2009, where he
illustrates how RabbitMQ can be used within a real world application
integrating the news feeds at the BBC.
-
Untangling the BBC's data feeds
More on the use of RabbitMQ at the BBC on Mike Bridgen's blog.
-
RabbitMQ at Smarkets
Video and slides of Hunter Morris' tech talk at Erlang Factory, London, July
2009 explaining how Smarkets use RabbitMQ in their backend stack.
-
Soocial.com run RabbitMQ on Amazon EC2
Soocial.com provide an address book and contact management solution
running on the Amazon Elastic Compute Cloud. They use RabbitMQ as their
message bus to move data between their service and mobile devices.
-
Use Cases on del.icio.us
See more links to articles on RabbitMQ use cases at delicious.com.
Going Further
Blogs, Forums and Social
Books and Print Articles
General Posts
-
Can AMQP break IBM's monopoly on middleware: Part 1,
Part 2,
Part 3
Three part series from Open Enterprise on messaging middleware and
AMQP. Includes an interview with RabbitMQ’s very own Alexis Richardson.
-
The potential for AMQP in financial services
Datamonitor talk about the five user patterns for AMQP messaging and
how they might be applied in financial services.
-
AMQP will play a crucial role in the future of complex event processing
Mark Palmer, CEO of StreamBase, predicts that interoperability between AMQP-enabled
systems - particularly RabbitMQ - will play a major role in the evolution of
innovative event-based processing stacks.
-
You Might Need Messaging If...
A short presentation from Bob Pasker on what messaging systems are for.
-
Toward a commodity enterprise middleware
Article in ACM Queue from June 2007 by John O'Hara, one of the orginal creators
of AMQP. John discusses the origins of AMQP, how it came to be, and how you
might go about integrating AMQP messaging with legacy middleware. The article entitled 'Toward a
Commodity Enterprise Middleware' begins on the 50th page of the PDF.
-
Advanced Message Queueing Protocol
Presentation from Pranta Das from Cisco giving a good background on AMQP, an
overview of the the new information model in AMQP 1.0 and some general use
cases for AMQP messaging.
-
Asynchronous Processing with Ruby on Rails
Jon Dahl's presentation at Rail Conf 2008 describes why asynchronous
processing is important and explains why messaging is useful here.
-
Henry Ford & Event Driven Architecture
Ilya Grigorik explains how to scale your application with events and
suggests that a little "AMQP kung fu" may help.
-
AMQP and Apache Qpid
Microsoft discuss the challenges of enterprise messaging in a
heterogeneous environment, and make a business case for AMQP, with
Qpid as the example broker
-
To AMQP or to XMPP, that is the question
Blog post by Kenneth Kalmer comparing AMQP and XMPP as messaging protocols.
-
A report of high performance tested by Intel in 2007
Report of load testing of RabbitMQ conducted with Intel and an
analysis by one of our team.
-
AMQP 1.0 User’s Charter and Scope
Details the requirements for AMQP 1.0 from the perspective of organisations investing in AMQP deployments.