https://github.com/thingsboard/tbmq Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} thingsboard / tbmq Public * Notifications * Fork 22 * Star 402 Open-source MQTT broker - facilitates MQTT client connectivity, message publishing, and distribution among subscribers. thingsboard.io/docs/mqtt-broker/ License Apache-2.0, Unknown licenses found Licenses found Apache-2.0 LICENSE Unknown license-header-template.txt 402 stars 22 forks Activity Star Notifications * Code * Issues 6 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights thingsboard/tbmq This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 10 branches 5 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/t] Use Git or checkout with SVN using the web URL. [gh repo clone things] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @dmytro-landiak dmytro-landiak README.md update ... 68930ce Dec 18, 2023 README.md update 68930ce Git stats * 1,689 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Update bug-repord.md June 20, 2023 12:39 application Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 common Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 dao Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 docker update to 1.2.1 version for installation and upgrade scripts December 13, 2023 13:02 img README.md updated November 22, 2023 10:52 k8s update to 1.2.1 version for installation and upgrade scripts December 13, 2023 13:02 msa Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 packaging/java added install db script for devs November 9, 2023 16:26 ui-ngx Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 .gitignore trace logs improvements June 16, 2023 11:03 LICENSE readme updated June 16, 2023 10:57 README.md README.md update December 18, 2023 17:02 license-header-template.txt license-header-template fix typo June 16, 2023 11:09 pom.xml Set version to 1.2.2-SNAPSHOT. Update migration script December 13, 2023 16:40 pull_request_template.md README.md updates, corrected github links to tbmq June 28, 2023 18:26 security.md added security policy June 19, 2023 13:44 View code TBMQ Documentation Getting Started Installation Licenses MQTT 5 supported features: MQTT 5 features in active development: README.md TBMQ Join the chat at https://gitter.im/tbmq/chat TBMQ Builds Server Status TBMQ represents an open-source MQTT message broker with the capacity to handle 4M+ concurrent client connections, supporting a minimum of 3M messages per second throughput per single cluster node with low latency delivery. In the cluster mode, its capabilities are further enhanced, enabling it to support more than 100M concurrently connected clients. At ThingsBoard, we've gained a lot of experience in building scalable IoT applications, which has helped us identify two main scenarios for MQTT-based solutions. In the first scenario, numerous devices are generating a substantial volume of messages that are consumed by specific applications, resulting in a fan-in pattern. On the other hand, the second scenario involves 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. This case is known as a fan-out pattern. Acknowledging these scenarios, we intentionally designed TBMQ to be exceptionally well-suited for both. Our design principles focused on ensuring the broker's fault tolerance and high availability. We wanted to implement a reliable mechanism for message processing, capable of handling any potential failures that may arise among the participants in the data flow. Additionally, we prioritized supporting distributed and partitioned processing, allowing for effortless horizontal scalability as our operations grow. We wanted our broker to support high-throughput processing, guaranteeing low-latency delivery of messages to clients, and providing the ability to withstand peak loads from publishing clients while ensuring backup storage for offline clients. Ensuring data durability and replication was crucial in our design. We aimed for a system where once the broker acknowledges receiving a message, it remains safe and won't be lost. TBMQ provides compatibility with both MQTT v3.x and v5.0 protocols. Last but not least, it had been running in production for more than a year before being open-sourced. TBMQ Home TBMQ Sessions Documentation TBMQ documentation is hosted on thingsboard.io. Getting Started Connect clients and Publish your IoT data in minutes by following this guide. Installation Review different TBMQ installation options by following this link. Licenses This project is released under Apache 2.0 License. MQTT 5 supported features: * User Properties * Reason Codes for MQTT packets * Session Clean Start * New Data Type: UTF-8 String pairs * Bi-directional DISCONNECT packets * Using passwords without usernames * Session expiry feature * Message expiry feature * Shared subscriptions * Subscription options * Topic aliases * Maximum Packet Size * Will delay * Server Keep-Alive * Assigned ClientID * Server reference * The payload format and content types MQTT 5 features in active development: * AUTH packet & Enhanced Authentication * Request / Response & Correlation Data * Flow Control * Subscription Identifiers About Open-source MQTT broker - facilitates MQTT client connectivity, message publishing, and distribution among subscribers. thingsboard.io/docs/mqtt-broker/ Topics java platform mqtt iot kafka netty mqtt-broker broker thingsboard Resources Readme License Apache-2.0, Unknown licenses found Licenses found Apache-2.0 LICENSE Unknown license-header-template.txt Security policy Security policy Activity Stars 402 stars Watchers 9 watching Forks 22 forks Report repository Releases 5 TBMQ 1.2.1 Release Latest Dec 13, 2023 + 4 releases Packages 0 No packages published Contributors 6 * @dmytro-landiak * @deaflynx * @vzikratyi-tb * @AndriiLandiak * @volodymyr-babak * @ashvayka Languages * Java 67.1% * TypeScript 21.3% * HTML 5.2% * SCSS 3.7% * Shell 1.1% * JavaScript 0.7% * Other 0.9% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * You can't perform that action at this time.