[rabbitmq-discuss] AMPQ vs XMPP and RabbitMQ vs ejabberd

Alexis Richardson alexis.richardson at cohesiveft.com
Sun Jun 1 17:17:50 BST 2008


This excellent blog post by Steve Jenson goes some way to addressing
your question.


AMQP is aimed at Business Messaging which means delivery semantics can
be much more specific ("at least once", "exactly once", "publish to
these subscribers only", "persist", "be durable").  This means that,
as Steve points out, the notion of 'presence' is replaced by the more
general notion of a subscription.  AMQP's model has routing exchanges
and queues which can be composed into pretty much any messaging
scenario.  Finally, AMQP is a binary protocol whereas XMPP is XML.

All these characteristics make AMQP more fundamental in some sense.
Really, it complements XMPP which is good at Instant Messaging.  The
great thing about this is that large Instant Messaging infrastructures
exist and are used by lots of people.  AMQP will be very good for
cases where human-human messaging is only a part of the solution - for
example business integration and reactive event monitoring.

In terms of license and quality differences between ejabberd and
RabbitMQ - well they are both open source.  RabbitMQ is MPL 1.1 and
(iirc) ejabberd is GPL.  I think that because AMQP is more general and
comprehensive than XMPP, it is arguably more 'extensible', and hence
so is RabbitMQ, but you may find it easier to locate XMPP tools as it
has been around for longer.  RabbitMQ is a high quality implementation
whose users often report happiness with its stability.  That said,
ejabberd has been around even longer and its scalability and
manageability, is why we chose erlang for RabbitMQ :-)

If you wish to choose between ejabberd or RabbitMQ, then ask yourself
if you are solving an XMPP type of problem or an AMQP type of problem.
 Many solutions could quite happily use both.  For example:



On Sun, Jun 1, 2008 at 4:59 PM, mark peleus <mark.peleus at gmail.com> wrote:
> Hi,
> Can anyone please explain the differences between AMPQ and XMPP.
> Are both addressing the same problems?
> What are the differences between RabbitMQ and ejabberd?
> Both are written in erlang.
> Is the only difference is the protocol they support or are there more
> differences in quality, extensibility, license...?
> Thanks
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)

More information about the rabbitmq-discuss mailing list