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.
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
Follow along this blog post An Army of Zombie Minions for RabbitMQ to see the sample usage.
See LICENSE.md