# 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
[](https://join.slack.com/t/tbmq/shared_invite/zt-31kk3315e-5jtPw8YAKskq1KkUqTrTyQ)
[](https://builds.thingsboard.io/viewType.html?buildTypeId=TBMQ_Build&guest=1)
[](https://hub.docker.com/r/thingsboard/tbmq-node)

# 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.
### 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.
### 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.
Acknowledging these scenarios, we intentionally designed TBMQ to be exceptionally well-suited for all three.
## β¨ Features
Scalability
Scale horizontally to manage more than 100M MQTT connections on a single cluster.
|
Performance
Process millions of messages per second with 1 TBMQ server and single-digit latency.
|
Durability
Guarantee the persistence and replication of your data to ensure it's never lost.
|
Fault tolerance
Prevent single point of failure with masterless nodes in the cluster.
|
## π 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.

[**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.

[**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/).

[**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.

[**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.

[**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.

[**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)**.