A scalable, distributed MQTT broker written in Rust, designed for high-concurrency IoT and M2M applications.
RMQTT is a high-performance, distributed MQTT broker/server built in Rust. It is designed to handle massive-scale IoT and M2M communication, supporting millions of concurrent connections with full MQTT protocol compliance. It solves the need for a scalable, reliable, and extensible messaging backbone for modern connected devices and 5G applications.
IoT platform engineers, embedded systems developers, and backend architects building large-scale, real-time messaging systems for connected devices, smart infrastructure, and industrial automation.
Developers choose RMQTT for its exceptional performance written in safe Rust, native distributed clustering for high availability, and extensive bridging capabilities to other messaging systems like Kafka and Pulsar, providing a future-proof and flexible IoT messaging foundation.
MQTT Server/MQTT Broker - Scalable Distributed MQTT Message Broker for IoT in the 5G Era
Benchmarks demonstrate support for over 1 million concurrent clients on a single node with throughput up to 150,000 messages per second, ideal for large IoT deployments.
Built-in Raft-based clustering ensures high availability and horizontal scalability, critical for industrial IoT applications requiring fault tolerance.
Seamless integration with Apache Kafka, Pulsar, NATS, and ReductStore via dedicated ingress/egress modes, enabling flexible data pipeline designs.
Supports multiple AUTH/ACL methods including HTTP, JWT, and WebHooks, allowing customization for multi-tenant or complex authentication scenarios.
Can be embedded directly into Rust applications via Cargo dependency, offering programmatic control without standalone broker deployment.
Setting up multi-node clusters requires manual IP addressing and lengthy Docker command flags, as shown in the README, increasing setup time and error risk.
Lacks a graphical interface for monitoring or administration, relying solely on HTTP APIs and logs, which may hinder operational visibility for non-technical users.
As a Rust-based project, it has a smaller community and fewer third-party plugins compared to established brokers like EMQX (Erlang) or HiveMQ (Java).
Advanced features like topic rewriting, delayed publishing, and hooks require deep configuration file edits, which can be overwhelming for newcomers.
Rmqtt is an open-source alternative to the following products:
VerneMQ is an open-source, scalable MQTT message broker designed for IoT applications that supports clustering and high availability deployments.
EMQX is an open-source, scalable MQTT broker for IoT and real-time messaging applications, supporting millions of concurrent connections.
Mosquitto is an open-source message broker that implements the MQTT protocol, commonly used for IoT applications and lightweight machine-to-machine communication.
HiveMQ is an enterprise-grade MQTT broker platform designed for reliable, scalable, and secure IoT messaging and data movement.
Hurl, run and test HTTP requests with plain text.
A native gRPC client & server implementation with async/await support.
🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
Actor framework for Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.