Implementation of several messaging patterns with RabbitMQ and AMQP
Erlang Shell
Latest commit 5929b22 May 15, 2011 @videlalvaro general cleanup
Permalink
Failed to load latest commit information.
include adds records for new patterns Apr 30, 2011
src general cleanup May 15, 2011
.gitignore first commit Feb 26, 2011
LICENSE.md New LICENSE file Apr 30, 2011
README.md improves README Apr 30, 2011
rebar first commit Feb 26, 2011
rebar.config cleaned up rebar.config Apr 30, 2011
start-dev.sh improved script for REPL start up Apr 30, 2011

README.md

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: amqp_smart_proxy.er
  • 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.

Building:

This library requires rebar to be installed.

Get the source code:

$ git clone git://github.com/videlalvaro/rmq_patterns.git

Prepare the dependencies:

$ cd rmq_patterns
$ mkdir deps
$ wget http://www.rabbitmq.com/releases/plugins/v2.4.1/amqp_client-2.4.1.ez
$ wget http://www.rabbitmq.com/releases/plugins/v2.4.1/rabbit_common-2.4.1.ez
$ unzip -d deps amqp_client-2.4.1.ez
$ unzip -d deps rabbit_common-2.4.1.ez

Compile the source code:

$ rebar compile

Usage:

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

License

See LICENSE.md