An ultra-lightweight, blazing-fast MQTT broker and messaging bus for IoT edge computing and software-defined vehicles.
NanoMQ is an ultra-lightweight and blazing-fast MQTT messaging broker and bus designed specifically for IoT edge computing and software-defined vehicles (SDV). It provides a high-performance messaging platform that handles MQTT protocols efficiently in resource-constrained embedded environments. The project solves the need for a cost-effective, portable, and low-latency messaging solution at the edge.
IoT and IIoT developers building edge computing applications, embedded systems engineers working on constrained devices, and teams developing software-defined vehicle architectures requiring reliable messaging.
Developers choose NanoMQ for its exceptional performance in embedded environments, pure C implementation for maximum portability, and full MQTT protocol support while maintaining minimal resource footprint. Its embedded actor architecture and asynchronous I/O design make it uniquely suited for mission-critical edge scenarios.
An ultra-lightweight and blazing-fast MQTT Messaging Broker/Bus for IoT Edge & SDV
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Pure C implementation and optimization for resource-constrained platforms, making it cost-effective and highly portable for IoT edge devices and embedded systems.
Fully asynchronous I/O and multi-threading design enables low latency and high handling capacity, as highlighted in benchmark tests and features like SMP support.
Fully based on native POSIX, it runs on various architectures like x86_64 and ARM with minimal migration effort, ensuring wide deployment flexibility.
Supports MQTT V3.1.1/3.1 and MQTT V5.0 specifications, with comprehensive adherence except for a few advanced features like authentication and server redirection.
Does not support authentication and server redirection features of MQTT 5.0, as admitted in the resources section, limiting use in security-heavy or dynamic routing scenarios.
Building from source requires CMake, handling git submodules, and optional dependencies like mbedTLS for TLS, which can be daunting compared to drop-in solutions.
Focused on edge and embedded niches, it has fewer third-party tools and integrations; the README notes outdated test reports and sparse details on advanced configurations.