<div dir="ltr">Thank you<br><br><div class="gmail_quote">On Wed, Feb 3, 2010 at 2:29 PM, Alexis Richardson <span dir="ltr"><<a href="mailto:alexis.richardson@gmail.com">alexis.richardson@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Ben,<br>
<br>
I have taken the liberty of bcc'ing a couple of people with experience<br>
of both XMPP and AMQP. They may have some better answers to your<br>
questions.<br>
<div class="im"><br>
<br>
On Wed, Feb 3, 2010 at 11:55 AM, Ben Browitt <<a href="mailto:ben.browitt@gmail.com">ben.browitt@gmail.com</a>> wrote:<br>
> Alexis<br>
><br>
> Let's take Facebook chat as an example. You only have web interface with<br>
> xmpp or a custom protocol.<br>
> You have several servers that need to sync.<br>
> How RabbitMQ can be usefull in this scenario?<br>
<br>
</div>I think there are several ways that RabbitMQ can be useful here.<br>
First of all though, please do note that 'xmpp chat' is after all<br>
*the* core use case for ejabberd and I would very much expect that it<br>
would do the best job in many of these cases.<br>
<br>
That said: RabbitMQ could be useful if you want to use a proprietary<br>
or 'custom' protocol, eg roll-your-own for the web interface, and a<br>
binary back end. No use of XML. And by the same token, RabbitMQ<br>
could be useful if you want to combine XMPP with this.<br>
<div class="im"><br>
<br>
> Do you mean that each IM<br>
> server will have a RabbitMQ node<br>
> that will send and receive sync messages from other RabbitMQ nodes on other<br>
> IM servers?<br>
<br>
</div>Well, that is not a use case I had considered since I would imagine<br>
that XMPP IM servers should federate happily OOTB.<br>
<br>
I don't have much experience of the load patterns that might make a<br>
person favour AMQP in the way that Jack tweeted about here:<br>
<a href="http://tweeteorites.com/tweet/8198995879" target="_blank">http://tweeteorites.com/tweet/8198995879</a><br>
<br>
I keep a list of links here that you may find useful:<br>
<a href="http://delicious.com/alexisrichardson/rabbitmq+xmpp" target="_blank">http://delicious.com/alexisrichardson/rabbitmq+xmpp</a><br>
<br>
Best wishes<br>
<font color="#888888"><br>
alexis<br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
><br>
> ben<br>
><br>
> On Wed, Feb 3, 2010 at 1:43 PM, Alexis Richardson<br>
> <<a href="mailto:alexis.richardson@gmail.com">alexis.richardson@gmail.com</a>> wrote:<br>
>><br>
>> Ben<br>
>><br>
>> Let me have a stab at this. Others may have more useful comments.<br>
>><br>
>> The main benefit of using RabbitMQ in these cases is twofold:<br>
>><br>
>> 1. You want to do pubsub and/or queueing, perhaps "at scale"<br>
>><br>
>> 2. You want to make use of a RabbitMQ client (or clients) for an<br>
>> 'integration scenario'.<br>
>><br>
>> For example you may wish to combine both 1 and 2 to scale up your web<br>
>> or IM server by using queues to decouple user requests, from back end<br>
>> services that fulfil them, and then gather the results of the work on<br>
>> another queue before returning aggregate results to the user.<br>
>><br>
>> Does this help?<br>
>><br>
>> alexis<br>
>><br>
>><br>
>><br>
>> On Wed, Feb 3, 2010 at 11:06 AM, Ben Browitt <<a href="mailto:ben.browitt@gmail.com">ben.browitt@gmail.com</a>><br>
>> wrote:<br>
>> > Hi<br>
>> ><br>
>> > There is the xmpp bridge with ejabberd but I wonder if native xmpp bosh<br>
>> > support in rabbitmq makes sense.<br>
>> > Let's say mochiweb accept xmpp http requests, a process per user receive<br>
>> > a<br>
>> > request and decide what to do with it.<br>
>> > Each process will use the amqp erlang client to create a channel and<br>
>> > then<br>
>> > exchanges, queues and bindings when needed.<br>
>> ><br>
>> > If mochiweb handles the connections and a plugin handles the logic do I<br>
>> > really gain anything by using rabbitmq?<br>
>> > I have a feeling that rabbitmq is the way to go but I don't know why.<br>
>> > What benefits do I get by using rabbitmq in this scenario?<br>
>> ><br>
>> > Ben<br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > rabbitmq-discuss mailing list<br>
>> > <a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
>> > <a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>