Proxying Rabbits For Stability & Reliability
summary
Bloomberg builds and runs amqpprox, an AMQP 0.9.1 proxy written in C++ (Conan/CMake) that maps vhosts to broker clusters, performs live vhost pause / map farm migrations, and replays the initial AMQP handshake so clients don’t change config. It handles ~50 million connections per day, a node hitting 5 Gbps on one core, and supports blue‑green upgrades and reactive load‑shedding. Limitations include a synthetic initial handshake, ephemeral port exhaustions, and manual state export/import for queue metadata.
AI-written summary · about
chapters (5)
- 0:0004:50 - Quick intro to Bloomberg
- 4:5107:02 - Why do we need a proxy?
- 7:0311:05 - Introducing amqpprox
- 11:0623:12 - What does amqpprox give us?
- 23:3117:46 - QnA
related talks
40mScaling RabbitMQ
18mHow to Break RabbitMQ
22mLessons Learned from Scaling RabbitMQ in a High-Growth (...)
34mUpdate RabbitMQ now!
32mLeading Without the Bloat: Lessons from B...
39mTools for High‑Load Projects: Caching and Queues
48mA Beginner's Guide to Inter-Service Messaging
21mWhy does RabbitMQ stop and what can be done about it
