tencent cloud

TDMQ for MQTT

Release Notes and Announcements
Release Notes
Product Introduction
TDMQ Product Series Introduction and Selection
What Is TDMQ for MQTT
Scenarios
Technical Architecture
Product series
MQTT Protocol Compatibility Notes
Comparison with Apache
High Availability
Product Constraints and Usage Quota
Basic Concepts
Supported Regions
Billing
Billing Overview
Renewal Instructions
Viewing Consumption Details
Overdue Payment Instructions
Refund
Getting Started
Guide for Getting Started
Preparations
Public Network Access
VPC Network Access
User Guide
Usage Process Guide
Configuring Account Permission
Creating a Cluster
Managing Topic
Connecting to the Cluster
Querying Messages
Managing Client
Managing a Cluster
Viewing Monitoring Metrics and Configuring Alarm Policies
Data Integration
Integrating Data Into SCF
Integrating Data Into CKafka
Integrating Data into RocketMQ
Development Guide
MQTT 5 Advanced Features
Data Plane HTTP API Description
Quota and Flow Control Mechanism Description
Configuring a Custom Domain Name
Configuring SQL Filtering
Configuring Point-to-Point Subscription
MQTT over QUIC
Managing Client Subscription
Message Enhancement Rule
Use Cases
Must-Knows for MQTT Client Development
Observability
Topic and Wildcard Subscriptions
​​API Reference
History
Introduction
API Category
Making API Requests
Cluster APIs
Topic APIs
Authorization Policy APIs
User APIs
Client APIs
Message Enhancement Rule APIs
Message APIs
Data Types
Error Codes
SDK Reference
Access Point Format
Java SDK
C SDK
Javascript/Node.JS/Mini Program
Go SDK
iOS SDK
JavaScript SDK
Dart SDK
Python SDK
.NET
Security and Compliance
Permission Management
FAQs
Related Agreement
Privacy Policy
Data Privacy And Security Agreement
TDMQ for MQTT Service Level Agreement
Contact Us

Technical Architecture

PDF
Focus Mode
Font Size
Last updated: 2026-04-01 16:21:33

MQTT Components and Deployment Architecture


Pub/Sub Client: client application or device identified by a unique client ID that can publish and subscribe to messages.
MQTT Proxy: server-side computing component responsible for MQTT protocol processing, connection session management, and authentication and authorization, stateless to allow rapid scaling.
NameSrv: naming discovery service responsible for routing and addressing based on topics, as well as Broker heartbeat registration.
RocketMQ Broker: server-side component that stores messages, responsible for message sending and receiving, storage, and message models, with support for horizontal scaling.

MQTT Implementation Principle and Architecture


Message Publishing Process
The publishing client establishes a connection with the Proxy. Once connected, it publishes an MQTT message. The Proxy parses and converts the message, then writes it into the RocketMQ Broker for persistence.
Message Storage
After receiving the message, the Broker first persists the message to the Commitlog data file, then creates two indexes based on the topic. The primary topic index is used for event notification, while the multi-level topic index is used for user maintenance of consumption progress.
Message Subscription Process
The subscribing client establishes a connection with the Proxy and specifies the subscribed topic expressions. The Proxy maintains each connection through sessions. When new messages arrive, the notify module broadcasts events to matching sessions, triggering immediate message pop. Additionally, the cache module reduces repeated extraction, improving performance and real-time message delivery.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback