RabbitMQ is a message broker that allows clients to connect over a range of different open and standardized protocols such as AMQP, HTTP, STOMP, MQTT, MQTT over websockets and WebSockets/Web-Stomp.

MQ Telemetry Transport is a publish-subscribe pattern-based "lightweight" messaging protocol. The protocol is often used in the IoT (Internet of Things) world of connected devices. It is designed for built-in systems, mobile phones and other memory and bandwidth sensitive applications.

CloudAMQP does recommend the AMQP protocol in favor of the MQTT protocol.

publish subscribe example

MQTT provides an asynchronous communications protocol; the sender and receiver of the message do not need to interact with the message queue, the topic, at the same time. Messages placed onto the topic are stored until the recipient retrieves them or until the messages times out. MQTT is for good use by bandwidth-sensitive applications.

publish subscribe example

MQTT protocol on RabbitMQ

The MQTT plugin is currently available on dedicated plans and the new shared servers in AWS US-East-1, GCE Europe West, GCE US Central and GCE Asia East.

The MQTT plugin has to be enabled on dedicated plans. The plugin can be enabled from the plugin tab. The port used for MQTT is 1883 (8883 for TLS wrapped MQTT). Use the same default username and password as for AMQP. You need to add the vhost to the username when you sign in (the vhost is the same as the username for shared plans): vhost:username

QoS 1 is supported (if you are setting QoS 2 it will be downgraded to QoS 1).

More information about RabbitMQ MQTT can be found here:

Language-specific documentation can be found here: Ruby, Python, NodeJS, Java, GO, .NET, NodeMCU (Lua), PHP.

Example when using mosquitto and TLS on shared instances:

mosquitto_sub -h hostname -d -t topic -u my_vhost:my_username -P my_password -c -i test1 -q 1 --cafile /usr/local/etc/openssl/cert.pem -p 8883

mosquitto_pub -h hostname -d -m message -t topic -u my_vhost:my_username -P password

If you have any questions, please feel free to contact for further assistance.