TMQTT 产品介绍
TMQTT 是一款高性能、生产级的 MQTT 消息服务器,专为物联网(IoT)和实时通信场景设计。
无论是几千台设备的智能家居,还是百万级连接的工业物联网平台,TMQTT 都能提供稳定、低延迟的消息通信服务。
为什么选择 TMQTT
| 优势 | 说明 |
|---|---|
| 极致性能 | 单机支持百万级并发连接,消息吞吐可达百万条/秒,端到端延迟低至毫秒级 |
| 协议完整 | 全面支持 MQTT v3.1.1 和 v5.0 两个主流版本,兼容市面上绝大多数 MQTT 客户端 |
| 安全可靠 | 内置密码认证、JWT 认证、证书认证(mTLS)和访问控制(ACL),默认拒绝匿名连接 |
| 集群扩展 | 支持多节点集群部署,自动节点发现、负载均衡、消息跨节点转发,水平扩展无需停机 |
| 数据桥接 | 可将 MQTT 消息按规则自动转发到 Kafka、TDengine、RabbitMQ 等下游系统,开箱即用 |
| 轻量高效 | 基于 Rust 语言开发,内存占用低,启动速度快,无 GC 停顿 |
功能特性总览
协议与通信
- MQTT v3.1.1 / v5.0:完整支持两个协议版本的全部特性
- QoS 0/1/2:三级服务质量,满足不同可靠性需求
- WebSocket 接入:支持 MQTT over WebSocket,方便浏览器和移动端连接
- TLS/SSL 加密:支持 TLS 加密连接和 mTLS 双向证书认证
- 保留消息:支持 Retain 消息的存储与自动分发
- 遗嘱消息:支持 Will Message,客户端异常断开时自动通知订阅者
- 主题别名(v5.0):减少带宽开销,提升传输效率
- 共享订阅(v5.0):多个客户端均衡消费同一主题的消息
安全与认证
- 多种认证方式:密码文件、JWT Token、mTLS 证书,可组合使用
- 访问控制(ACL):细粒度的发布/订阅权限管理,支持配置文件热加载
- 速率限制:连接速率和消息发布速率双重限制,防止恶意洪泛攻击
- 匿名控制:默认禁止匿名连接,生产环境安全优先
会话与存储
- 持久会话:客户端断开后会话和消息不丢失,重连后自动恢复
- 离线消息:断开期间的消息自动缓存,重连后按序投递
- 存储后端:支持内存存储和 RocksDB 持久化存储
集群与高可用
- 节点自动发现:基于 Gossip 协议,节点间自动感知彼此
- 负载均衡:支持最少连接、轮询、权重等多种策略
- 优雅上下线:节点可平滑下线(Drain 模式),不影响现有连接
- 灰度发布:支持金丝雀版本路由,新版本逐步接入流量
消息桥接
- 多下游后端:Kafka、TDengine、RabbitMQ、RocketMQ
- 规则引擎:按主题和内容条件过滤消息,一条规则可转发到多个下游
- 可靠性保障:批量聚合、熔断保护、死信队列,确保消息不丢失
- REST API 管理:规则和下游状态均可通过 API 动态管理
监控与运维
- Prometheus 指标:连接数、消息吞吐、错误数等关键指标开箱即导出
- 系统主题($SYS/):订阅即可获取 Broker 实时运行状态
- 管理 API:HTTP 接口查看状态、管理会话、触发热重载
- CLI 工具:命令行一键查看状态、踢出客户端、重载配置
- 日志:支持 text 和 json 两种格式,运行时可动态调整日志级别
适用场景
| 场景 | 说明 |
|---|---|
| 物联网(IoT) | 传感器数据采集、设备状态上报、远程指令下发 |
| 车联网 | 车辆位置上报、远程控制、OTA 升级通知 |
| 智能家居 | 设备联动、状态同步、告警推送 |
| 工业控制 | 产线数据采集、设备监控、异常告警 |
| 实时通信 | 即时消息、在线状态、通知推送 |
| 数据管道 | 通过桥接功能将 MQTT 数据流转至 Kafka 或时序数据库进行分析 |
版本与许可
TMQTT 基于 MIT License 开源,可自由使用和修改。
当前版本:v0.1.0
Copyright (c) 2026 桃子 TaoZi.Pub https://taozi.pub | MIT License