Skip to content

Open-source, fault-tolerant MQTT message broker engineered for massive scalability and high-performance routing. It delivers millions of messages per second with very low latency, while efficiently managing millions of concurrent client connections to power your most demanding IoT and enterprise applications.

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-header-template.txt
Notifications You must be signed in to change notification settings

thingsboard/tbmq

Repository files navigation

Slack TBMQ Builds Server Status Docker Pulls

banner

Scalable, fault-tolerant, and durable messaging for millions of MQTT clients.


💡 Get started • 🌐 Website • 📚 Documentation • 📔 Blog • 🕸️ Slack • 🔗 LinkedIn

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 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 ➜


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:

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.

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.




Performance

Performance

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




Durability

Durability

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




Fault tolerance

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.

TBMQ Client 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

🔒 MQTT clients security & management

Strengthen your IoT security using the MQTT client credentials management system, crafted to handle authenticaion methods as Basic, JWT, X.509 Certificate Chain and SCRAM.

Manage fine-grained access with per-client ACL rules, and easily monitor or control connectivity using built-in tools for handling Blocked clients and Unauthorized clients.

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

🔌 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

🧪 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


🫶 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 and check the TBMQ FAQ.


📄 Licenses

This project is released under Apache 2.0 License.

About

Open-source, fault-tolerant MQTT message broker engineered for massive scalability and high-performance routing. It delivers millions of messages per second with very low latency, while efficiently managing millions of concurrent client connections to power your most demanding IoT and enterprise applications.

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license-header-template.txt

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 8