[rabbitmq-discuss] Announcing Vorpal Bunny 0.1

Gavin M. Roy gmr at myyearbook.com
Fri Feb 25 03:15:16 GMT 2011


Correction:

Vorpal Bunny is an experimental rabbitmq-jsonrpc-channel PHP driver designed
to allow expedited single call HTTP delivery for Basic.Publish calls to
RabbitMQ.

The goal is to be a light-weight tool for higher throughput with smaller
protocol overhead for single-call of Basic.Publish per application
execution.

On Thu, Feb 24, 2011 at 10:02 PM, Gavin M. Roy <gmr at myyearbook.com> wrote:

> Vorpal Bunny is an experimental rabbitmq-jsonrpc-channel PHP driver
> designed to allow expedited single call HTTP delivery for Basic.Deliver
> calls to RabbitMQ.
>
> The goal is to be a light-weight tool for higher throughput with smaller
> protocol overhead for single-call of Basic.Push per application execution.
>
> Our use case is focused on PHP web applications that span hundreds of
> servers with hundreds of backends each. With the existing AMQP drivers for
> PHP, applications can not currently maintain consistent connections and
> publish across application executions, instead they connect, publish and
> disconnect.  Vorpal Bunny is intended to reduce the overhead on the RabbitMQ
> server and the PHP application by using the jsonrpc-channel plugin, which
> maintains its own channels per session inside RabbitMQ's running instance,
>  eliminating most of the AMQP protocol overhead for one off message
> delivery.
>
> This is experimental for us and has not entered production, however I felt
> it may be useful for those out there who are exploring the
> rabbitmq-jsonrpc-channel plugin as well.
>
> Example use:
>
>  $vb = new VorpalBunny( 'localhost' );
>  $vb->publish( "test_exchange", "test", "Hello World!" );
>
>
> The design tries to employ PHP's APC cache if available to keep one session
> with the RPC server active per Apache server on the RabbitMQ server.
> Application flow is as follows:
>
>   1. Construct object, determining of APC cache is available
>   2. On first call of publish, establish a session with the
> rabbitmq-jsonrpc-plugin, then send the message
>   3. On subsequent calls, call publish will send without trying to
> establish a session and then look for an error indicating the session has
> timed out or is no longer available. If this is the case, re-establish the
> session and retry the delivery.
>
> Vorpal Bunny is available on GitHub at
> https://github.com/myYearbook/VorpalBunny
>
> You can also download 0.1 directly at
> https://github.com/myYearbook/VorpalBunny/zipball/0.1
>
> I will keep you all updated to our progress and observations to how well
> this performs in a high delivery transaction environment.
>
> Regards,
>
> Gavin
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110224/dd1803fc/attachment-0001.htm>


More information about the rabbitmq-discuss mailing list