消息队列 MQTT 版 技术架构

发布客户端向 Proxy 建立连接,成功后发布 MQTT 消息,Proxy 将消息解析转换后写入到 RocketMQ Broker 中持久化。

相关产品
消息队列 MQTT 版 产品页,含版本规格、价格与购买入口。

一、MQTT 组件与部署架构

·Pub/Sub Client:表示客户端应用或设备,通过 Client ID 唯一标识,可以发布或订阅消息。

·MQTT Proxy:服务端计算组件,负责 MQTT 协议处理,连接会话管理,认证鉴权,无状态可以快速扩缩容。

·NameSrv:命名发现服务,负责按 Topic 路由寻址和 Broker 心跳注册。

·RocketMQ Broker:服务端存储消息的组件,负责消息收发,存储,消息模型,可以横向扩展。

二、MQTT 实现原理与架构

发布消息流程

消息存储

Broker 接收消息以后,将消息首先持久到 Commitlog 数据文件中,再根据主题分别建立两个索引,一级主题索引用来做事件通知,多级主题索引用户维护消费进度。

订阅消息流程

订阅客户端向 Proxy 建立连接并指定订阅的主题表达式,Proxy 会通过 session 维护每个连接,当有新消息到达时,通过 notify 模块,广播通知匹配的 session 立即 pop 消息,并且通过 cache 模块,减少重复提取,提升性能和消息实时性。

赞 (0)
上一篇 5天前
下一篇 5天前