Comment Re:XMPP (Score 5, Informative) 122
While XMPP and AMQP do have some similarities, they were developed to solve quite different problems.
XMPP is better for human-to-human or human-to-machine interaction. It is better for federated networks (user@jabber.someserver.com can communicate with user@jabber.someotherserver.com). It has authentication built in. It's more "Internet ready", with modules for BOSH and IRC.
AMQP is geared more towards traditional machine-to-machine message queuing. It offers more control over the type of message delivery ("exactly once", "pubsub", "at least once"). It's aiming to just be a message queue.
RabbitMQ is an open-source implementation of AMQP built in Erlang. They seem to be quite fond of XMPP, realizing the different natures of the protocols, and even created a module for ejabberd (also written in Erlang).
Another interesting mashup between RabbitMQ and ejabberd is is a project I stumbled across called Rabbiter, which looks like some sort of implementation of a Twitter-link setup. They're looking to bring CouchDB (also Erlang) in the mix for persistence.
I'm expecting to see quite a bit of interaction between RabbitMQ, ejabberd, and CouchDB over the next few months.