Tbmq
The ultimate distributed MQTT broker. Handles 100M+ connections and 10M msg/sec with ease. Built on Kafka to provide industrial-grade persistence and eliminate data loss.
Install / Use
/learn @thingsboard/TbmqREADME
Scalable, fault-tolerant, and durable messaging for millions of MQTT clients.
</div> <br> <div align="center">🖥️ Live Demo • 💡 Get started • 🌐 Website • 📚 Documentation • 🔗 Slack
</div>TBMQ is fully compliant with the MQTT v3.1, v3.1.1 and v5.0 protocols, delivering complete support for all core MQTT features across both single-node and clustered environments. Whether you’re building scalable IoT solutions or ensuring reliable communication for connected devices, TBMQ meets the latest standards for seamless interoperability.
🖥️ Try Live Demo
Experience the full observability and control of TBMQ Professional Edition (PE) instantly. Validate your IoT fleet against our high-performance public MQTT broker. Visualize real-time throughput, explore the advanced management UI, and test seamless connectivity—zero infrastructure required.
MQTT Connection Details:
| Parameter | Value |
|------------------|-----------------|
| Host | demo.tbmq.io |
| TCP Port | 1883 |
| TLS/SSL Port | 8883 |
| WSS Port | 443 |
| WSS Path | /mqtt |
| Username | demo |
| Password | (leave empty) |
ℹ️ Sandbox Limitations: The Live Dashboard provides read-only access to TBMQ PE features. While you can monitor active sessions and throughput in real-time, configuration is locked. To deploy a fully configurable cluster with administrative rights, Install TBMQ PE.
🚀 Installation options
TBMQ offers flexible installation options tailored for both development and large-scale production environments:
- Docker for quick local or on-premise setups.
- Kubernetes (K8s) deployments on AWS, Azure or GCP.
- Helm Charts for streamlined Kubernetes installation.
➡️ View all installation options and guides ➜
<br>For Linux and macOS users, you can deploy TBMQ as a single-node Docker setup using the installation script below.
1. Download and run the installation script
wget https://raw.githubusercontent.com/thingsboard/tbmq/release-2.2.0/msa/tbmq/configs/tbmq-install-and-run.sh &&
sudo chmod +x tbmq-install-and-run.sh &&
./tbmq-install-and-run.sh
2. Open the TBMQ Web UI
Once the installation is complete, open your browser and access TBMQ at your host address on the default port 8083. For example:
http://localhost:8083
3. Log in using default credentials
Username:
sysadmin@thingsboard.org
Password:
sysadmin
Consult the full guide for comprehensive instructions, troubleshooting guidance, and advanced configuration details.
💡 Getting started with TBMQ
Check out our Getting Started guide to learn the basics of TBMQ. In minutes, you will learn to:
- Connect MQTT clients to TBMQ.
- Configure authentication and authorization.
- Subscribe to topics.
- Publish messages.
💊 Common IoT usage scenarios for TBMQ
Utilize diverse communication patterns effectively, ensuring comprehensive coverage of your use cases. TBMQ places particular emphasis on mastering fan-in, fan-out, and point-to-point (p2p) messaging.
1. Fan-in (telemetry ingestion)
Numerous devices generate a large volume of messages that are consumed by specific applications. Normally, a few applications are set up to handle these lots of incoming data. It must be ensured that they do not miss any single message.
<p align="center"> <img src="https://github.com/user-attachments/assets/bbc92bcf-c09b-4141-b71d-d5e469ceeec2" alt="Diagram showing fan-in communication pattern" width="600"> </p>2. Fan-out (broadcast messaging)
Numerous devices subscribing to specific updates or notifications that must be delivered. This leads to a few incoming requests that cause a high volume of outgoing data.
<p align="center"> <img src="https://github.com/user-attachments/assets/85fe89da-ae81-4bef-8d50-c0c21e60b60f" alt="Diagram showing fan-out communication pattern" width="600"> </p>3. Point-to-point (command & control)
Messages are routed between a single publisher and a specific subscriber through uniquely defined topics. Pattern that is primarily used for one-to-one communication. Ideal for private messaging or command-based interactions.
<p align="center"> <img src="https://github.com/user-attachments/assets/88ce216d-891a-4232-9b4a-8590ded2cdfc" alt="Diagram showing p2p communication pattern" width="600" style="margin-left: 10px;"> </p>Acknowledging these scenarios, we intentionally designed TBMQ to be exceptionally well-suited for all three.
✨ Features
<table> <tr> <td width="50%" valign="top"> <br> <div align="center"> <img src="https://img.thingsboard.io/mqtt-broker/product/scalability.svg" alt="Scalability"/> <h3><b>Scalability</b></h3> </div> <div align="center"> <p>Scale horizontally to manage more than 100M MQTT connections on a single cluster.</p> </div> <br> <div align="center"> <a href="https://thingsboard.io/docs/mqtt-broker/reference/100m-connections-performance-test">Read more ➜</a> </div> <br> </td> <td width="50%" valign="top"> <br> <div align="center"> <img src="https://img.thingsboard.io/mqtt-broker/product/performance.svg" alt="Performance"/>Related Skills
feishu-drive
339.1k|
things-mac
339.1kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
339.1kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
task-list
Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.
