# tbmq **Repository Path**: jerrycell/tbmq ## Basic Information - **Project Name**: tbmq - **Description**: MQTT-BORKER - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-19 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Slack](https://img.shields.io/badge/Slack-TBMQ-1F8B4D?logo=slack)](https://join.slack.com/t/tbmq/shared_invite/zt-31kk3315e-5jtPw8YAKskq1KkUqTrTyQ) [![TBMQ Builds Server Status](https://img.shields.io/teamcity/build/e/TBMQ_Build?label=TB%20builds%20server&server=https%3A%2F%2Fbuilds.thingsboard.io&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAALzAAAC8wHS6QoqAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAB9FJREFUeJzVm3+MXUUVx7+zWwqEtnRLWisQ2lKVUisIQmsqYCohpUhpEGsFKSJJTS0qGiGIISJ/8CNGYzSaEKBQEZUiP7RgVbCVdpE0xYKBWgI2rFLZJZQWtFKobPfjH3Pfdu7s3Pvmzntv3/JNNr3bOXPO+Z6ZO3PumVmjFgEYJWmWpDmSZks6VtIESV3Zv29LWmGMubdVPgw7gEOBJcAaYC/18fd2+zyqngAwXdL7M9keSduMMXgyH5R0laRPSRpbwf62CrLDB8AAS4HnAqP2EvA1YBTwPuBnwP46I70H+DPwALAS+B5wBTCu3VyHIJvG98dMX+B/BW1vAvcAnwdmAp3t5hWFbORXR5AvwmPARcCYdnNJAnCBR+gd7HQ9HZgLfAt4PUB8AzCv3f43DGCTQ6o/RAo43gtCL2Da4W9TAUwEBhxiPymRvcabAR8eTl+biQ7neYokdyTXlvR7xPt9etM8GmZ0FDxL+WD42FdBdkTDJd0jyU1wzi7pd473e0+qA8AM4AbgkrK1BDgOWAc8ChyTaq+eM5ud93ofcHpAZiY2sanhZaDDaTfAZ7HJUmlWCJzm6bqLQM6QBanXkfthcxgPNbTEW9z2AT8AzgTmANdikxwXX/d0XOi0bQEmFNj6GPAfhuKnXkB98kNsNjsITwacKkI3MNrrf4UnswXoiiRfwyqgo4D8L2hVZglMw456DDYCRwR0jCH/KuWCgE2oysjX8KsA+V+2jHzm3CrP4PMBx/4JfAU4qETP+EAQ/gKcA/w7gnwNbl5yD7bG0DLyM7DZXw3d2f9PA+YD5wIzK+gLBSEFA/XIA2cAVwLvbSQAt3mGP5Gs7IDO8dg1ZYDGcAfOwujZuIwDn+ObUx09hHx+v7Eh5nndCyIIDgBbgd0lMiv9IABfIF+LeDnVyU97xj5XR/6bwI5sZEaXyH2UuHd+WSbfRXktYjAIAfL9wGdSA/Cgo+gtSio12IKJa3hNKAgZ+TciyL+AlwECKzI/ioLgTvsa+YtTyXeSz8ZW15E3wN88p3JBwCZNMeShIKkBTsRmmSG4a0o/sDSJfGboBE/5pRF9pgI9oSBUJP8mXpLk2bm6pO9Aw+QzI8s8xVFbXRaEf3h911cgD7Cyjg0/L/GxnoLdoUoA3O1vDxUyLWyO4AehCpYX6D2L/LpUhtsaCkIWxRoeT+g/DVsqT8EWYDowC5jh6FxUUc+tJJblOmSPqWp4JUFHl6TDUoxLOlnSdknPSnK3sA2S9lfQs0zS7SkzwQ/A61U6A6dKWufpSMVg5mmMeUPSXyv2v0zSN6oa7ZAdwRqiA5CRf0TS+KpGAxiQ1OFN4z8l6PErVXUxSvmp1hvTqUnk35adPWskPWSM6fPaq84ASXqscg/gi9gcvJuC6o0nfwrhw5EYvIpNn88HStcN4M6KulfTys/lzKlO0lb8P2Lrf6VbLDAF+DLweEX998aSx372bwP6gPlVA3BEAvm9FJwVYtPqjwDXA08n6AZbOYoeeeAWp++mSlPGGLMLeFjSuRW6Iektx4GDJc2TdJ6khZKOruKDh/skXWSM6a/Q5yjn+dDKFrE1vw0VR2m2039x4kj7uJ+SslyJ/+7rtaly4mCM+a+kBaq2TbnVpfWy216jmCzpkIR+7kK/MymHNsbslX0NYoMweMpsjNklaWuKXQ9zJf2eOocvAbzHee5N/ojIgvBVxY3madh3v4b1iWZ/o3zw5kpaS+SFDGCq8jPguUQ/CmsCZfi403dhwjv/AHAQMAl41mvbGBMEhq4/c1PJTwmQr1f7u97pfzj5EnwUead/KAg/ivD7Zkf+HSBpFwiRfwibI3SXkOj29PgEivAggdU+C8JWR+6+CN9dm1tSyHcBLwbIj87ax1Kcxe0DJmVyY4CdEeR/TXnVeRLwc+C3wHF1fP+Qp/uGlABc6Cl5mPziVi8IzwDfAZ6KIN9LyhQt9v1GT/+sFCXTOVBBXuOTd+TGkp+eqWjKSTBwMPAvR+9TjSibjK35l93mWIxdZFKOxPzFseEgAJd7Olt6v+AC8jdIqwRhLbZM758HRH3tYa/vnoqtKZ4JHIk99tvh6HqNVl3RLSB/JfBEBPnBwxXsJ2uf176qxO7hwE3ALq/PfuyVXhdXt4r8+QHyK7K2cXWCMLiTOPqODwTh2IDdD2CP12LwCnUKMankO8kfiAySd2SKgjCEfEEQ+nznsZc7eyLJA9zddPKZIx0c2NcHgMsL5MZhr83XULiTeCSXAEcG2m4PjPCXsEWWBdhbZ/4h6knN4u07Mxv4MbCojtxo7DW6RTRwopMFxt0xeoCJAblLvCDdlWpzRAG42CO2sET2UUfuVbetsYPF9mKq8zwg6Q8lsm7bRJxt8N0cAPdar5FUupYU9X03B2C782wknVUi+0nneacxZk9rXBpGABO8RXA72demJ7fcWyvubIe/TQN2y11MuJ6wA5v3z8HeMbjba+8n5StwJCDb9lYUEI/Fde3mEQ1svnBKRvp32K/LEPYQd1z3XQJfsG3/Sw/gKElLZev8tb8rnizpBEmF1SDZ06ZbJN0saa+kayQtV77qi6QnJF1njFnXdOebAcIXssvQB3yfcGrcCZwEnAfMC8mMKGArNUVT28VubF4/nyZflx8Jr8BVkr4tm83tzn5ek/S8pM2SnpT0gv8H283C/wGTFfhGtexQwQAAAABJRU5ErkJggg==&labelColor=305680)](https://builds.thingsboard.io/viewType.html?buildTypeId=TBMQ_Build&guest=1) [![Docker Pulls](https://img.shields.io/docker/pulls/thingsboard/tbmq-node?label=Docker%20Pulls&style=flat&color=4C92F7)](https://hub.docker.com/r/thingsboard/tbmq-node) ![banner](https://github.com/user-attachments/assets/35a09f17-76fc-47fc-8add-7ab46d7f6d90)
# Scalable, fault-tolerant, and durable messaging for millions of MQTT clients.

πŸ’‘ [Get started](https://thingsboard.io/docs/mqtt-broker/getting-started/) β€’ 🌐 [Website](https://thingsboard.io/products/mqtt-broker/) β€’ πŸ“š [Documentation](https://thingsboard.io/docs/mqtt-broker/) β€’ πŸ“” [Blog](https://thingsboard.io/blog/) β€’ πŸ•ΈοΈ [Slack](https://join.slack.com/t/tbmq/shared_invite/zt-31kk3315e-5jtPw8YAKskq1KkUqTrTyQ) β€’ πŸ”— [LinkedIn](https://www.linkedin.com/company/thingsboard/posts/?feedView=all)
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. ## πŸš€ Installation options TBMQ offers flexible installation options tailored for both development and large-scale production environments: * [**Docker**](https://thingsboard.io/docs/mqtt-broker/install/cluster/docker-compose-setup/) for quick local or on-premise setups. * **Kubernetes (K8s)** deployments on [AWS](https://thingsboard.io/docs/mqtt-broker/install/cluster/aws-cluster-setup/), [Azure](https://thingsboard.io/docs/mqtt-broker/install/cluster/azure-cluster-setup/) or [GCP](https://thingsboard.io/docs/mqtt-broker/install/cluster/gcp-cluster-setup/). * [**Helm Charts**](https://thingsboard.io/docs/mqtt-broker/install/cluster/helm-cluster-setup-options/) for streamlined Kubernetes installation. ➑️ **[View all installation options and guides ➜](https://thingsboard.io/docs/mqtt-broker/install/installation-options/)**
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 ```bash 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](https://thingsboard.io/docs/mqtt-broker/install/docker/) for comprehensive instructions, troubleshooting guidance, and advanced configuration details. ## πŸ’‘ Getting started with TBMQ Check out our [Getting Started guide](https://thingsboard.io/docs/mqtt-broker/getting-started/) 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.

Diagram showing fan-in communication pattern

### 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.

Diagram showing fan-out communication pattern

### 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.

Diagram showing p2p communication pattern

Acknowledging these scenarios, we intentionally designed TBMQ to be exceptionally well-suited for all three. ## ✨ Features

Scalability

Scalability

Scale horizontally to manage more than 100M MQTT connections on a single cluster.


Read more ➜


Performance

Performance

Process millions of messages per second with 1 TBMQ server and single-digit latency.


Read more ➜


Durability

Durability

Guarantee the persistence and replication of your data to ensure it's never lost.


Read more ➜


Fault tolerance

Fault tolerance

Prevent single point of failure with masterless nodes in the cluster.


Read more ➜

## πŸ“š Administer client sessions Gain full visibility over your IoT ecosystem with the user-friendly session management dashboard, enabling you to monitor vital session attributes. Seamlessly administer your device subscriptions for efficient data communication. ![TBMQ Client Sessions](https://img.thingsboard.io/mqtt-broker/product/administer-client-session.webp)
[**Read more about client sessions ➜**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/sessions/)
## 🧭 Administer client subscriptions Efficiently manage subscriptions with a powerful and intuitive interface, ensuring optimal client communication and data flow across your IoT network. ![TBMQ Client Sessions](https://img.thingsboard.io/mqtt-broker/product/administer-client-subscriptions.webp)
[**Read more about client subscriptions ➜**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/subscriptions/)
## πŸ”’ MQTT clients security & management Strengthen your IoT security using the MQTT client credentials management system, crafted to handle authenticaion methods as [**Basic**](https://thingsboard.io/docs/mqtt-broker/security/authentication/basic/), [**JWT**](https://thingsboard.io/docs/mqtt-broker/security/authentication/jwt/), [**X.509 Certificate Chain**](https://thingsboard.io/docs/mqtt-broker/security/authentication/x509/) and [**SCRAM**](https://thingsboard.io/docs/mqtt-broker/security/authentication/scram/). Manage fine-grained access with per-client ACL rules, and easily monitor or control connectivity using built-in tools for handling [**Blocked clients**](https://thingsboard.io/docs/mqtt-broker/other/blocked-client/) and [**Unauthorized clients**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/unauthorized-clients/). ![Client Credentials](https://img.thingsboard.io/mqtt-broker/product/credentials-management.webp)
[**Read more about client credentials ➜**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/mqtt-client-credentials/)
## πŸ“ˆ Real-time MQTT monitoring Keep a pulse on your IoT environment by tracking key metrics in real-time, ensuring your network's health and performance are always at their peak. ![Real-time MQTT monitoring](https://img.thingsboard.io/mqtt-broker/product/monitor-key-metrics.webp)
[**Read more about monitoring tools ➜**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/monitoring/)
## πŸ”Œ External system integrations Enable smooth data transmission between IoT devices, the broker, and external platforms with a reliable and scalable solution β€” all without impacting core broker performance. ![External system integrations](https://img.thingsboard.io/mqtt-broker/product/integrations.webp)
[**Read more about integrations ➜**](https://thingsboard.io/docs/mqtt-broker/integrations/)
## πŸ§ͺ MQTT websocket connectivity Interact with your IoT devices in real-time through the WebSocket client, offering a streamlined and responsive interface for device messaging and monitoring. ![MQTT websocket connectivity](https://img.thingsboard.io/mqtt-broker/product/websocket-client-connectivity.webp)
[**Read more about WebSocket Client ➜**](https://thingsboard.io/docs/mqtt-broker/user-guide/ui/websocket-client)
--- ## 🫢 Support If you find TBMQ helpful, consider giving the project a ⭐ on GitHub β€” it helps us grow and reach more users! For assistance, please visit our **[GitHub issues page](https://github.com/thingsboard/tbmq/issues)** and check the [TBMQ FAQ](https://thingsboard.io/docs/mqtt-broker/faq/). --- ## πŸ“„ Licenses This project is released under **[Apache 2.0 License](./LICENSE)**.