Implementation of several messaging patterns with RabbitMQ and AMQP
Erlang Shell
Switch branches/tags
Nothing to show
Pull request Compare This branch is even with videlalvaro:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

AMQP Messaging Patterns

This library has sample implementations of some of the patterns presented in the book Enterprise Integration Patterns.

The implementations are in Erlang using the rabbitmq-erlang-client.

To try these patterns you need a running RabbitMQ server.

The patterns implemented so far are:

  • Consumer: amqp_consumer.erl
  • Control Bus: amqp_control_bus.erl
  • Detour: amqp_detour.erl
  • Smart Proxy:
  • Wire Tap: amqp_wiretap.erl

To use these consumers/producers we have to understand the concept of "Control Enabled Endpoints" as explained in this blog post: An Army of Zombie Minions for RabbitMQ.


This library requires rebar to be installed.

Get the source code:

$ git clone git://

Prepare the dependencies:

$ cd rmq_patterns
$ mkdir deps
$ wget
$ wget
$ unzip -d deps amqp_client-2.4.1.ez
$ unzip -d deps rabbit_common-2.4.1.ez

Compile the source code:

$ rebar compile


Follow along this blog post An Army of Zombie Minions for RabbitMQ to see the sample usage.