dorkhub

tbmq

The ultimate distributed MQTT broker. Handles 100M+ connections and 10M msg/sec with ease. Built on Kafka to provide in…

thingsboard
Java74787 forksApache-2.0updated 1 day ago
visit the demogit clone https://github.com/thingsboard/tbmq.gitthingsboard/tbmq

Slack TBMQ Builds Server Status Docker Pulls

banner

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


🖥️ Live Demo • 💡 Get started • 🌐 Website • 📚 Documentation • 🔗 Slack

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 ➜


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

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

Read more about 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

Read more about client subscriptions ➜

🔒 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

Read more about 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

Read more about monitoring tools ➜

🔌 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

Read more about 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

Read more about 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 and check the TBMQ FAQ.


📄 Licenses

This project is released under Apache 2.0 License.

more like this

mc-fps-jvm-args

JVM arguments that you can use from your Minecraft launcher to increase game performance.

code51

search

search projects, people, and tags