RabbitMQ runs on the Raspberry Pi 2. Messaging technology decouples software applications by separating the sending of data and the receiving of data. Asynchronous messaging enables software to remain connected and scaleable. One messaging technology is RabbitMQ. The RabbitMQ message queue technology supports AMQP (Advanced Message Queuing Protocol) and is reported to have enterprise-level durability.

The Raspberry Pi Organization (raspberrypi.org) offers a pocket-sized single-board computer for approximately $35 USD. Several versions of the free Linux operating system are available for the Raspberry Pi.

A recent experiment with a Raspberry Pi 2 has turned the pocket-sized computer into a formidable RabbitMQ message queue (Raspbian + rabbitmq-server).

using sudo...
apt-get install -y erlang logrotate
apt-get install rabbitmq-server
rabbitmq-plugins enable rabbitmq_management

To access the management console on the Pi MQ, navigate to http://localhost:15672 (login: guest, password: guest). Within management console, I created user "operator8" and a virtual host "pimq". User: operator8 is given the following permission to pimq: configure regexp .*, write regexp .*, read .*

Next, a send message client and a receive message client are constructed and run on a different computer running a different operating system.

Downloaded from rabbitmq.com/download.html, the C# client is added to a new C# console application and configured to create a connection with the Raspberry Pi 2 Rabbit MQ.

The send client uses a send method (BasicPublish) to publish to the message queue at 10:07:08 PM. The Raspberry Pi Rabbit MQ management display shows the queued message coming in.

The receive client is run a few minutes later. As expected, the 10:07:08 PM message is received.

Not counting peripherals, $35 is a good deal for a miniature message queue.