finds.dev← search

// the find

VolantMQ/volantmq

★ 986 · Go · Apache-2.0 · updated Feb 2023

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →