// the find
VolantMQ/volantmq
High-Performance MQTT Server
VolantMQ is a Go MQTT broker supporting v3.1.1 and partial v5.0, forked from the abandoned surgemq project. It targets IoT deployments where you want something self-hosted, configurable, and lighter than Mosquitto or EMQX. The plugin architecture handles auth, persistence, and monitoring as separate loadable modules.
The topic router has two implementations — a standard locked trie and a lock-free variant in `topics/memlockfree` — which is a real design decision rather than hand-waving about performance. Plugin system is practical: you can swap auth backends (built-in key-value, HTTP callback), persistence (in-memory or BBolt), and monitoring (Prometheus + Grafana dashboard included) without touching the core. MQTT v5.0 flow control, topic aliases, and session expiry are implemented, not just listed. Docker image ships with all the standard plugins pre-built, so the getting-started path is one command.
Last commit was February 2023 — over two years of no activity. MQTT v5.0 is explicitly incomplete: shared subscriptions and enhanced authentication are open issues, which rules this out for any serious v5.0 deployment. Persistence is BBolt or nothing; if you want Redis, Postgres, or any external store you're writing your own plugin with no documentation on how. The plugin system itself is scattered across GitLab repos with their own CI badges, making it hard to know what's actually current and compatible.