Message queues – RabbitMQ
One of the best ways to ensure that distributed servers maintain a dependable communication channel is to bundle the complexity of remote procedure calls into a distinct unit—a messaging queue. When one process wishes to send a message to another process, the message can simply be placed on this queue—like a to-do list for your application—with the queue service doing the work of ensuring messages get delivered as well as delivering any important replies back to the original sender.
There are a few enterprise-grade message queues available, many of them deploying AMQP (Advanced Message Queueing Protocol). We will focus on a very stable and well-known implementation: RabbitMQ.
Note
To install RabbitMQ in your environment follow the instructions found in the website: http://www.rabbitmq.com/download.html.
You will also need to install Erlang (instructions given under the Official Clients section at the preceding link).
Once installed you will start the RabbitMQ server...