RabbitMQ - Messaging that just works.

31170  envelopes

As lead technologist at Sagittarius Marketing, one of my many roles is to investigate new technologies. Sometimes I hear about new things through a vast array of websites, news feeds and emails I receive. This time I discovered it like many great inventions completely by accident.

I was looking in to a system known as node.js and how to get it to talk to Microsoft .NET. While researching this, I came across a system called RabbitMQ. I'm excited about it, because it allows different pieces of software to talk using a common language.

One of the biggest technology challenges an agency or client faces, is getting their disparate systems to talk to one another. This is commonly overcome using data export/import to migrate data. Emails sent in a defined format to update some third party software. Web services using json or xml to update or read information across different platforms.

RabbitMQ is another solution to this problem, it allows any system to send messages to each other. These messages use a common specification called AMQP or Advanced Message Queuing Protocol.

Each piece of software plugging in to RabbitMQ doesn't need to be written in the same coding language. They don't even need to be running on the same infrastructure.

They can talk to each other in a number of ways including

  1. Publish-Subscriber – Any message you send gets delivered to all the recipients
  2. Queue – Messages are delivered to any available unit for processing. So if you had a bunch of small jobs they can be handed out to multiple workers.
  3. Two pieces of software sharing simple messages
  4. Routing - Selectively route messages to a given destination(s)
  5. Topics - Destinations receive messages based on a patten. So one destination gets messages about pears and another gets messages about apples.
  6. RPC - call a particular command or procedure on a remote computer

Or even use a combination of all of the above.

We see a lot of new technologies come and go, the difficult thing is choosing the right tool for the job. So whenever I see a new system like RabbitMQ in the back of my mind I'm thinking thats great but...

  1. Does it really help our customers in the real world
  2. What's the chances of it going down in the middle of the night on a bank holiday weekend

I feel pretty comfortable on both accounts as I can see it is used in the real world by enterprise level companies.

One such company is http://www.15below.com/ based in Brighton, UK. They have a pretty impressive client base including Qantas, Thomas Cook and Ryan Air.

In their words they allow their clients to

Connect with each passenger from when they book until after they get home

– Delight passengers with personalised information to smooth their journeys

– Calmly handle the chaos of unexpected situations from hurricanes to strikes

They use RabbitMQ to power their system:

"15Below's Flight-Status product provides real-time flight information to passengers and their family and friends. We interface with the airline's real-time flight information stream generated from their operation systems and provide a platform that allows them to apply complex business logic to this stream. We render customer tailored output, and communicate with the airline's customers via a range of channels, including email, SMS, voice and iPhone/Android push. RabbitMQ allows us to build each piece; the client for the fight information stream, the message renderer, the sink channels and the business logic; as separate components that communicate using structured messages." - Mike Hadlow, Chief Architect at 15Below.

Fascinating to see something like this used in the real world and I can't wait to leverage it for our clients in the near future.

 

 

Best Wishes, Richard

Lead Server-Side Developer

want to speak to one of our experts?

Richard Brisley
Richard Brisley
Technical Lead
Richard is the longest standing member of the Sagittarius team, he works tirelessly to support the development and side-facing team with problem solving and pitches alike. His skills as a .NET programmer and database administrator have been paramount to the success of Sagittarius and our continued success. 

In 2016 and again in 2019 Richard was recognise in the BIMA 100 awards for his outstanding work in Tech, his passion for digital and his contribution to the industry. 

Richard Brisley

Richard Brisley

13 May 2014 - 5 minute read
share this

stay in the know, stay ahead.

Get the latest from the agency, including news, events and expert content.
explore services in the article
find out what we can do for you
read some of our case studies