RabbitMQ OpenSources Messages Service

Un Projet fort intéressant, supporté par la fondation Mozilla, qui permet de s’interfacer avec un grand nombre de langages. Et ce sur de nombreuse Plateforme (Windows, Linux, VMS …)

Je recopie la présentation des fonctionalités, en anglais, mais très complète.

  • 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.
  • Installing RabbitMQ
    Video showing how to get a RabbitMQ server installed and running in 20 seconds.
  • 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.
  • What problem does messaging solve?
    A Q&A discussion that covers a variety of use cases for messaging.
  • 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.
  • Une alternative à JMS?
    An excellent introduction, in French, to messaging with AMQP. (Or read the English translation, which is almost as good.)
  • 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.

Cloud Configurations

Management and Monitoring

Management and monitoring capabilities are provided by rabbitmqctl and the management plugin.

In addition there are several community-maintained tools. Please treat these as experimental and send feedback to the list.

  • RabbitMQ Management Plugin
    The management plugin provides a web interface and HTTP API for managing and monitoring RabbitMQ.
  • RabbitMQ Administration Console
    RAC is an administration console for RabbitMQ written in PHP. (See this screenshot).
  • 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 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.
  • AMQP Event Monitor on Zenoss
    A daemon for monitoring AMQP with Zenoss
  • 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.
  • 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

  • Building an Event-driven Architecture using RabbitMQ, Spring AMQP and Spring Integration
    Shane Witbeck describes a proof of concept in which he demonstrates how these open source technologies combined with proven enterprise integration patterns results in code that is easier to maintain, easier to test and is faster than the legacy system it replaces.
  • High Availability AMQP Messaging With Redundant Queues
    Introducing Beetle – a high availability messaging solution that uses a redundant configuration combined with message deduplication to boost reliability.
  • Patterns for Messaging with RabbitMQ
    Scott Brooks presents an overview of the AMQ model and goes on to describe some advanced topics. He highlights a set of common messaging use cases with RabbitMQ including delayed job queues, event logging, back-end decoupling and cross platform interoperability.
  • Multiprotocol Asynchronous Job Server
    Tomas Doran builds an AMQP- and JSON-based job and event server with RabbitMQ (code available on github). The presentation contains an excellent introduction to AMQP and examples of why you might need messaging in your application.
  • Interoperability with RabbitMQ
    Alvero Videla explains how RabbitMQ is the perfect solution to the interoperability problem where different applications need to work together to share real time data at scale.
  • User Interaction with RabbitMQ using MagooClient
    MagooClient – a SOA/MOM client aimed primarily at XML-based applications – now comes with a RabbitMQ transport. This allows MagooClient to be plugged into a RabbitMQ architecture providing an instant user client for prototyping, testing or scenarios where direct user interaction with exchanges is required. No coding necessary and topic/direct exchange models are fully supported.
  • Using RabbitMQ Beyond Queuing
    Dmitriy Samovskiy blogs about how RabbitMQ can be used beyond simple queuing and pubsub. Gets you started on the path to “achieve a distributed messaging nirvana”.
  • Advanced Messaging & Routing with AMQP
    Ilya Grigorik explains how to get started with AMQP in Ruby and provides some advanced AMQP recipes for a variety of messaging use cases.
  • RabbitMQ, Celery and Django
    Robert Pogorzelski gives an excellent demonstration of how RabbitMQ and Celery can be used with Python to build an asynchronous, distributed task queue for your web application.
  • Message Queues, Django and Celery QuickStart
    Rich Leland’s quick start guide provides a great explanation of how to set up an asynchronous task queue with RabbitMQ, Celery and Python, all on a Mac.
  • Common Messaging Patterns (.NET Client Library User Guide)
    Whether or not you use .NET, section 3 of this guide describes ways of working with AMQP and a number common messaging patterns and interaction styles.
  • Listening to the System
    Blog post from Ben Hyde examining some ideas how topic routing in AMQP is a good solution for building a message hub for real-time monitoring.
  • Integration with Graphite
    Tools written in Python that facilitate sending data to Graphite via RabbitMQ rather than connecting directly via TCP. Demonstrates how the AMQP model decouples produces and consumers of data.
  • Drizzle replication using RabbitMQ
    Marcus Eriksson has implemented a transaction log replicator for Drizzle using RabbitMQ as the transport. (See also the updated post and the follow up Better replication from Drizzle to Cassandra.)
  • Messaging Patterns on del.icio.us
    See more links to articles on messaging patterns at delicious.com.

Specific Use Cases and Examples

  • RabbitMQ, node.js and Java
    James Carr creates a sample application demonstrating how RabbitMQ and Spring-AMQP can be used to connect a website written in node.js to established JEE infrastructure using an asynchronous, event-driven architecture.
  • Social Networks and the Richness of Data [PDF 9.2 MB]
    An excellent presentation describing how scale social network activity streams with RabbitMQ, Redis and NoSQL in general.
  • 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

Author: stratus

Laisser un commentaire