RabbitMQ 3.0.0 brings WebSockets into the fold
Open source message broker RabbitMQ has received a huge
update this week, with the arrival of its third major
The messaging-focused middleware , which was acquired by VMware back in April 2010 has a radically improved feature set for this big release, with focus firmly set on broader WebSocket support, through Web-STOMP and MQTT plugins.
Introduced back in May by the RabbitMQ team, the arrival of Web-STOMP ushered in a new way of exposing messaging in a web browser. Having tested out different approaches like the JsonRPC plugin, the team realised that “messaging on the web is very different to what we’re used to”. STOMP-over-websockets is the bridge between Web-STOMP and the SockJS server, so essentially the STOMP protocol is exposed through WebSockets.For those aiming at older browsers (ie. If your company still supports IE6 exclusively), there’s also support available for those lacking WebSocket compatibility.
The new MQTT adapter plugin opens up the possibilities of using RabbitMQ with lightweight devices. By adding in MQTT 3.1 support, this enables “MQTT clients to connect to a RabbitMQ broker simultaneously with clients implementing other protocols”. As developers explore the possibilities of connecting smaller devices, the linkup between MQTT and RabbitMQ could break down some enterprise barriers.
In a comprehensive feature overhaul, RabbitMQ 3.0 refines queue mirroring and makes it faster, warns about network partitions and contains new simpler clustering commands. Another interesting feature is background garbage collection, slashing excessive memory use.
Written in Erlang, RabbitMQ implements the Advanced Message Queuing Protocol (AMQP), allowing client applications to communicate with one another over message brokers. It also contains client libraries for Java, .NET, Ruby amongst others. If you want to burrow deeper into what RabbitMQ’s all about, head over to the project page to download.
Also worth checking out is this video of RabbitMQ’s Simulator to learn how to ways of the project.