A lightweight, high-performance, embeddable MQTT broker server written in Go, supporting distributed clusters and MQTT v3.0, v3.1.1, and v5.0.
Comqtt is an open-source MQTT broker server written in Go, designed for high-performance messaging in IoT and smart home applications. It supports MQTT protocols v3.0, v3.1.1, and v5.0, and can be deployed as a standalone server or embedded as a library. It solves the need for a lightweight, scalable, and extensible messaging broker that can handle constrained devices and unreliable networks.
Developers and engineers building IoT platforms, smart home systems, or any application requiring reliable publish/subscribe messaging with support for distributed clustering and custom plugins.
Developers choose Comqtt for its clean, extensible codebase, high performance comparable to established brokers, and built-in support for distributed clustering. Its hook-based plugin system and multiple storage/authentication backends offer unparalleled flexibility for customization.
A lightweight, high-performance go mqtt server(v3.0|v3.1.1|v5.0) supporting distributed cluster
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports MQTT v3.0, v3.1.1, and v5.0, ensuring broad device compatibility and adherence to industry standards, as stated in the key features.
Shows comparable or better message throughput to Mosquitto and EMQX in stress tests, making it suitable for scalable IoT systems, per the performance section.
Hook-based architecture allows custom plugins for authentication, storage, and bridging, with examples provided in the hooks documentation.
Uses Gossip and Raft protocols for horizontal scaling, enabling high-availability setups out of the box, as detailed in the cluster support.
Integrates with Redis, HTTP, MySQL, PostgreSQL, and supports multiple password encryption algorithms, offering versatility for diverse environments.
Roadmap items like dashboard, rule engine, and enhanced metrics are not yet implemented, limiting out-of-the-box functionality for monitoring and automation.
Advanced features such as bridging and multiple authentication require manual YAML file setup, increasing initial deployment time and potential for errors.
While extensible, the number of pre-built plugins is smaller than mature brokers like Mosquitto, often necessitating custom development for niche use cases.
comqtt 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.