Skip to content

doublethink.co.uk

Tag: #me, myself and i

amqpprox - AMQP 0.9.1 Proxy

At RabbitMQ Summit this year my group presented on a technology we developed to help run our Rabbit farm, which we simultaneously open-sourced as amqpprox. This is the first internal product my group has open-sourced, and we're excited to be able to open the code and share a useful tool with the community.

amqpprox is a simple boost ASIO based Layer-7 proxy which speaks just enough of AMQP 0.9.1 to allow regular RabbitMQ clients to connect to it and once their virtual-host is known redirect them to an appropriate RabbitMQ broker. This enables some interesting operational procedures, such as seamless blue-green upgrades and downgrades of a virtual-host at a time, and redirecting load between clusters. These procedures and the basics of the proxy's operation are outlined in the presentation below.

More things I've been up to

Public information on one of my team's projects in recent years, bringing RabbitMQ into wide use within Bloomberg. The proxy for AMQP mentioned in this is one of my more recent projects where I've got to code.

What I've been up to

Since 2005 I've been working in the software infrastructure department in Bloomberg. Bloomberg doesn't give a lot away about its internal technology or what we do with it, but occasionally things are made publically available. There is an increasing presence on github, most notably with our version of the STL and some basic libraries following our coding standards. More specifically to my own work there's a video after the fold of a talk by a colleague at jsconf 2011 about the internal development environment we built a few years ago for the developers building the Bloomberg terminal: