[rabbitmq-discuss] RabbitMQ local consumer and producer

Alexis Richardson alexis.richardson at gmail.com
Tue Apr 14 11:48:41 BST 2009


Colin,

On Mon, Apr 13, 2009 at 9:42 PM, Colin Z <theczintheroc2007 at gmail.com> wrote:
> Sorry I'm very new to RabbitMQ and enterprise messaging as a whole.

No problem!  This is a very open community consisting of all sorts of
messaging users, not just those in the enterprise.

> I'm
> wondering if it's possible (or even a good idea) to have consumers and
> producers reside locally within a single Erlang node, or an Erlang cluster.

It is a good idea and it is possible.  Take a look at Ben Hood's
"shovel" project to see an example use case.  This uses the RabbitMQ
erlang client in "embedded" mode to create a relay system - a step
towards federation.

http://hopper.squarespace.com/blog/2008/6/22/introducing-shovel-an-amqp-relay.html

Benefits of this approach might include:

* Latency reduction for multi-hop Rabbits
* Algorithmic routing by embedding logic in the broker
* Lower costs of management


> Looking at what RabbitMQ offers, it seems like a great fit for MMO-type
> applications. I'm not so much interested in passing messages to human
> clients across the net as I am in using Rabbit for communication between
> server-side game entities.

Very cool!

At least two production users of RabbitMQ are providers of MMOs.  They
may be tempted to pipe up on this list if you ask questions ;-)


> While I could just pass regular Erlang messages between processes, Rabbit
> seems much more robust.

Thank-you.  RabbitMQ benefits from semantics that includes routing and
queues, so that for example persistence can be introduced, as you
imply below.


> While some of the durability features of Rabbit would be great for game
> features like auction houses or mailboxes, the channels and fast
> point-to-point communication seem like a great fit for things like AI. I'm
> imagining an architecture where game entities can subscribe to certain MQ
> channels to be made aware of arbitrary things like collisions, combat
> events, AI triggers, etc. Is this something Rabbit could support, or is it
> way off base?

These are all excellent use cases for RabbitMQ.

Please feel free to bounce ideas off the list - people may take a
nibble at them.

alexis



> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>




More information about the rabbitmq-discuss mailing list