[rabbitmq-discuss] rabbitmq-jsonrpc "shortcut" HTTP calls?

Ivan Delchev ivdelchev at gmail.com
Sun Mar 28 12:20:33 BST 2010

Hi Tony,

Nice to hear that! Anyway, I didn't have in mind changing the AMQP
protocol, I can imagine that there are plenty of people that use it in
its current form. In case of the HTTP impl I think the following
simple steps could help and can be easily accomodated in the server

1. Combine the "system.describe" calls to /rpc/rabbitmq and
/rpc/{service_hash}. Return a different hash in the "name" parameter
if the URL is already in use, otherwise return the same.  Thus the 2
"system.describe" calls can become 1.

2. Bundle calls that do not depend on each other in one call - e.g by
providing an array of method calls, that should be executed in the
same order.

If no anonymous declarations are used, this should be acceptable:

{"version":"1.1","id":5,"methods" : [

Another options is in case of anonymous declarations to nest the
declarations and compute the internal results first and use them as
arguments for the upper ones:

{"version":"1.1","id":5,"methods" : [

That should be possible and I think and will save quite some HTTP
roundtrips. If you provide the server-side I can try to deliver the
javascript client :)


On Thu, Mar 25, 2010 at 10:47 PM, Tony Garnock-Jones <tonyg at lshift.net> wrote:
> Hi Ivan,
> I like the idea. I like it not only for HTTP but also for AMQP's native
> wire protocol. I don't have time to work on it at the moment, but
> perhaps we can discuss it here: do you have any concrete suggestions for
> what it might look like? Maybe start with the HTTP setting and we can
> generalise to the AMQP wire protocol later. And of course if you had a
> prototype/proof-of-concept implementation, that'd be very welcome in
> terms of getting the ball rolling :-)
> Regards,
>  Tony
> Ivan Delchev wrote:
>> Hi guys,
>> I have a question about RabbitMQ and more specifically
>> rabbitmq-jsonrpc. I know that this is an experimental download and is
>> basically translation of AMQP to HTTP, but is there a way to optimize
>> a typical process of e.g. authenticating yourself, declaring an
>> exchange and declaring a queue? Currently this takes 7-8 requests in a
>> row, which puts unnecessary load on the server. Does anyone know about
>> "shortcut" HTTP requests that bundle multiple AMQP calls in one
>> request in order to minimize overhead?
>> @RabbitGuys Do you have any plans to implement and support such features?
>> Thanks a lot,
>> Ivan
>> _______________________________________________
>> 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