What is RobustMQ
Overview
RobustMQ MQTT is a complete implementation of the MQTT protocol adapted by RobustMQ. It supports:
- Clustered deployment with seamless horizontal scaling.
- A single node can handle millions of connections.
- Full support for MQTT 3.1/3.1.1/5.0 protocols.
- Supports TCP, SSL, WebSocket, and WebSockets protocols.
- Supports session management, including session persistence and expiration.
- Supports retained messages.
- Supports will messages.
- Supports shared subscriptions.
- Supports system topics.
- Supports Schema.
- Supports data integration.
The overall architecture is as follows:
- MQTT Broker is a stateless node, and MQTT clients randomly access a Broker to complete Pub/Sub of message data.
- MQTT Broker performs node discovery and node health checks based on the Placement Center, thus completing node construction.
- The MQTT cluster persists message through the Storage Adapter layer. The cluster’s metadata is stored in the Placement Center Cluster.
- MQTT Broker supports MQTT 3.1/3.1.1/5.0 protocols over TCP and the internal management and scheduling of the cluster based on the GRPC protocol.
- The Placement Center runs the corresponding controller threads of the MQTT Broker cluster, responsible for tasks like cluster scheduling, such as assigning a Leader in a shared cluster.