Cons: The broker is written in Erlang (which I never heard of) To be able to run the broker the Erlang runtime has to be installed Broker must be configured, making a new user and grant it access to a virtual host Pros: Complies to AMQP 0.9.1 (Read something about expirimental AMQP 1.0) Gateway for MQTT (not tested) dotNet client library compatible with mono and RPi Broker has a web interface for management Selfhealing by setting one property (out of the box!!!) High level of abstraction Capable of sending and receiving (at the same time) 2000 msg/s on RPi2 4 times faster then the fastest mqtt lib I tested Capable of sending and receiving (at the same time) 4000 msg/s on win7 vm 4 times slower then the fastest mqtt lib I tested (bottleneck is the broker) It refuses to die and believe me I've tried to kill it. IPv6 support You only loose messages when there are serious problems. Serious problem Scenario's Disconnecting network cables Stopping broker service Suspending virtual machine that runs the broker (server crash) Overloading the system with to many messages untill out of memory it starts dropping messages. In all these scenario's communication is (re)started automatically when the "problems" disappear. No need to restart RPi's all over the place, the client picks up communication like nothing happened.