[erlang-questions] OTP Design

Garrett Smith <>
Thu Aug 18 23:09:08 CEST 2011


On Thu, Aug 18, 2011 at 3:08 PM, David Mercer <> wrote:
> On Thursday, August 18, 2011, Garrett Smith wrote:
>
>> Apart from prototyping, I don't generally use distributed Erlang (i.e.
>> starting named nodes) but prefer to use other messaging protocols
>> (e.g. AMQP, 0MQ, REST, etc).
>
> Do you have any thoughts on 0MQ vs. AMQP?

They're pretty different. 0MQ is more of a toolkit for building your
own messaging systems.

For centralized broker models, AMQP is great. RabbitMQ is very solid.
And of course it's Erlang. I have nothing but good things to say about
it.

My problem with AMQP is that it tends to become a central
architectural feature -- similar to the big, centralized relational
databases. All of a sudden, you're feeding and caring for the broker
-- and if it goes down, it takes a lot with it.

AMQP is also a complicated protocol, which tends to cause problems for
people implementing it. So, while there are quality servers and
clients for it -- be prepared for hard-to-fix problems along the way.

0MQ is a counter point to this: support for federated and flexible
topologies and simple protocol. There is a NIF based Erlang binding
for it, which is excellent.

You might find this interested, if you haven't seen it already:

http://www.zeromq.org/whitepapers:brokerless

Garrett



More information about the erlang-questions mailing list