// the find
eclipse-mosquitto/mosquitto
Eclipse Mosquitto - An open source MQTT broker
Mosquitto is the reference MQTT broker implementation, supporting protocol versions 3.1, 3.1.1, and 5.0. It's the go-to choice for IoT projects that need a lightweight, standards-compliant message broker without the operational weight of Kafka or RabbitMQ. Written in C, it runs comfortably on a Raspberry Pi.
MQTT 5.0 support is complete and well-tested, including user properties, shared subscriptions, and flow control — most alternatives lag here. The dynamic security plugin handles ACLs, roles, and client management at runtime via MQTT itself, no broker restart needed. Active fuzzing via OSS-Fuzz with seed corpora for packet parsing, config files, and auth flows — serious security hygiene for a network-facing daemon. The persistence layer uses SQLite optionally, giving you crash-safe retained messages without requiring an external store.
Clustering is not supported at all — horizontal scaling requires a separate bridge topology or a commercial fork like HiveMQ; this is a hard ceiling if you outgrow a single node. The C client library API is callback-heavy and stateful in ways that make it awkward to use correctly without reading the source; the C++ wrapper is thin and doesn't hide the sharp edges. WebSocket support exists but the HTTP layer is bolted on via libmicrohttpd rather than being a first-class transport, which shows in configuration complexity. The dashboard (in `dashboard/`) is a minimal Chart.js page that reads from the HTTP API — useful for spot-checking but not a replacement for Prometheus metrics if you're running this in production.