TBMQ PE 是一款 enterpriseMQTT消息代理,专为大规模可扩展性和高性能消息路由而设计。 它在单节点部署下可高效处理数百万并发客户端连接,并以低延迟实现每秒数百万条消息的吞吐。 在集群模式下,TBMQ的能力进一步扩展,能够支持大规模 IoT部署,具备卓越的可靠性和吞吐量。
ThingsBoard在构建可扩展IoT应用方面积累了丰富经验,使我们能够识别MQTT解决方案中常见的三种关键模式:
-
扇入(Fan-in)模式: 在此场景中,大量设备产生高消息量,由较少的应用消费。 这些应用必须可靠地处理所有传入数据流,且不丢失消息。
-
扇出(广播,Fan-out)模式: 在此场景中,众多设备订阅特定更新或通知,需高效送达。 少量传入消息可能产生大量传出更新,形成高输出分发流。
-
点对点(P2P)模式: 这是针对性强的一对一通信模型,适用于私信或命令-响应交互等用例。 消息通过唯一定义的主题在单个发布者与特定订阅者之间直接交换。
基于这些常见模式,我们将TBMQ设计为对以上三种模式均能出色支持。 TBMQ使用 Java 开发,依托 Kafka 等领先开源技术,提供低延迟消息传递、数据持久化以及平台级水平可扩展性。
完整MQTT规范支持
TBMQ完全符合MQTT协议,在单节点和集群环境中均对MQTT核心功能提供完整支持。 无论您是在构建可扩展的IoT解决方案,还是为连接设备提供可靠通信,TBMQ均满足最新标准,实现无缝互操作性。
支持的MQTT版本
TBMQ支持以下MQTT版本:
我们的实现可在各类用例中提供可靠的性能和兼容性。
TBMQ功能
- 所有MQTT v3.x功能
- 所有MQTT v5.0功能
- 多节点集群支持
- X.509证书链认证支持
- JWT认证
- 基于客户端ID、用户名或X.509证书链的访问控制(ACL)
- 客户端会话和订阅的REST查询支持
- 消息处理速率限制
- 集群与客户端指标监控
- 未授权客户端
- MQTT WebSocket客户端
- 与外部系统的集成(HTTP、MQTT、Kafka)
- Kafka主题和消费者组监控
- Proxy Protocol
- 被阻止的客户端
-
MQTT通道背压支持
- 单点登录(SSO)
- 基于角色的访问控制(RBAC)
- 白标
架构
TBMQ的设计目标是:
- 可扩展:平台支持水平扩展,基于领先的开源技术构建;
- 容错:无单点故障,集群中每个节点相同,确保高可用和容错;
- 健壮高效:可管理数百万客户端,每秒处理数百万条消息;
- 持久化:代理确保数据持久化,防止数据丢失。
更多详情请参阅 TBMQ架构。
准备开始?
请按快速入门指南学习基础用法,或直接在我们的公共演示实例上试用TBMQ——无需安装。