Proof of concept using different MQTT brokers
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
J. Fernando Sánchez 1cce38d106 Fix log bug 6 years ago
golang First commit 6 years ago
python-broker First commit 6 years ago
python-clients First commit 6 years ago
README.md Fix log bug 6 years ago
docker-compose.yml Fix log bug 6 years ago
mosquitto.conf First commit 6 years ago

README.md

Testing three different MQTT brokers: mosquitto, hbmqtt (python) and volantmq (go). The goal is to compare different brokers using the same client code. In particular, I wanted to know if the main python and golang broker implementations support QOS level 2 subscriptions. i.e. whether the broker will store undelivered messages while the subscriber is offline, and deliver them once it comes online.

The compose file sets up the three brokers, and two clients (a producer and a consumer).

Setup

Before you launch the clients, launch the brokers you want to try with compose. This will launch the three brokers:

docker-compose up mosquitto pybroker gobroker

Clients

The clients can be configured to use different brokers with the MQTT_HOST environment variable (see below). You can run as many clients as you wish.

Mosquitto

docker-compose run -e MQTT_HOST=mosquitto consumer
docker-compose run -e MQTT_HOST=mosquitto producer

HBMQTT (python)

This broker is using BoltDB (an embedded key-value store) for persistence.

docker-compose run -e MQTT_HOST=pybroker consumer
docker-compose run -e MQTT_HOST=pybroker producer

VolantMQ (Go)

docker-compose run -e MQTT_HOST=gobroker consumer
docker-compose run -e MQTT_HOST=gobroker producer