finds.dev← search

// the find

bytebeamio/rumqtt

★ 2,117 · Rust · Apache-2.0 · updated May 2026

The MQTT ecosystem in rust

rumqtt is a Rust MQTT ecosystem containing two crates: rumqttc (async/sync client supporting MQTT 3.1.1 and 5) and rumqttd (an embeddable broker supporting MQTT 3.1.1). Targeted at Rust developers building IoT applications who want a native async client or an embeddable broker they can run in-process.

- Both sync and async client APIs are provided, with tokio under the hood for async — the eventloop model gives fine-grained control over when you poll and handle acks manually, which matters for QoS guarantees

- rumqttd is genuinely embeddable as a library (see singlenode.rs example), not just a standalone binary — useful for testing or lightweight edge deployments without running a separate process

- Benchmarks are included and compare against paho and a Go client, with methodology visible in the repo rather than just posting numbers on a website

- Active maintenance (last push 2025), CI coverage badges backed by actual workflow files, and a CHANGELOG per crate — this isn't abandonware

- rumqttd has no MQTT 5 support on the broker side despite the client supporting it — if you need MQTT 5 features end-to-end (user properties, reason codes, flow control), you're stuck or need a different broker

- Persistence is in-memory only for the broker; there's a segments module but no durable storage for messages across restarts, which is a hard blocker for anything requiring message durability

- The v4 and v5 protocol parsing code is duplicated wholesale between rumqttc and rumqttd rather than shared — not a user-facing problem but means bug fixes have to be applied in multiple places and the codebase is harder to maintain

- Authentication and authorization in the broker is minimal — the external_auth example exists but there's no built-in ACL, username/password validation beyond basic config, or plugin system, so you'd need to wrap it yourself for any real multi-tenant deployment

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 →