Skip to main content

Sizing your Rabbits

· 11 min read
Matthew Sackman

One of the problems we face at the RabbitMQ HQ is that whilst we may know lots about how the broker works, we don't tend to have a large pool of experience of designing applications that use RabbitMQ and which need to work reliably, unattended, for long periods of time. We spend a lot of time answering questions on the mailing list, and we do consultancy work here and there, but in some cases it's as a result of being contacted by users building applications that we're really made to think about long-term behaviour of RabbitMQ. Recently, we've been prompted to think long and hard about the basic performance of queues, and this has lead to some realisations about provisioning Rabbits.

SockJS - WebSocket emulation

· 7 min read
Marek Majkowski

WebSocket technology is catching up, but it will take a while before all browsers support it. In the meantime there are loads of projects that aim to substitute for WebSockets and enable 'realtime' capabilities for web apps. But all attempts solve only a part of the general problem, and there isn't any single solution that works, is scalable and doesn't require special deployment tricks.

RabbitMQ on Heroku

· 3 min read
Alexis Richardson

We are very pleased to announce the availability in beta of RabbitMQ as a Heroku add-on. With our RabbitMQ service on CloudFoundry, this extends our commitment to supporting the community of cloud application developers.

We believe that cloud messaging is fundamental in two senses. First as a core capability to build applications that scale to cloud use cases as explained in our blog post launching RabbitMQ on CloudFoundry. And second, because messaging can be extended to solve common problems like integration and data push. For example: to connect traditional on-premise applications with virtualized and cloud deployments.

SockJS - web messaging ain't easy

· 5 min read
Marek Majkowski

The idea of 'realtime web' or messaging using web browsers has been around for quite some time. First it was called 'long-polling', then 'Comet', the latest incarnation is named 'WebSockets'. Without doubt it's going in a good direction, WebSockets is a neat technology.

But during the fight for realtime capabilities we've lost focus on what is really important how to actually use messaging. In the web context everything is request-response driven and marrying a typical web stack to asynchronous messaging isn't easy.

RabbitMQ + Cloud Foundry: Cloud Messaging that Just Works

· One min read
David Wragg

Today we launched a RabbitMQ service on CloudFoundry.com. This service brings the messaging functionality of RabbitMQ to developers building applications on Cloud Foundry. You can read the main announcement over on the Cloud Foundry blog. There's also an FAQ with more details on the Cloud Foundry knowledge base.  CloudFoundry.com is a free beta service.  So please register there (if you haven't already), then take a look at the RabbitMQ service, try out the sample apps, and write your own.  And tell us how to make it better.

Puka - rethinking AMQP clients

· 5 min read
Marek Majkowski

I fundamentally disagree with the APIs exposed by our current AMQP client libraries.

There is a reason why they're imperfect: we intentionally avoided innovation in APIs since the beginning. The purpose of our client libraries is to expose generic AMQP, not any one view of messaging. But, in my opinion, trying to map AMQP directly to client libraries APIs is just wrong and results in over-complication and abstractions hard to use.

There is no common ground: the client libraries blindly following AMQP model will be complex; easy to use client libraries must to be opinionated.