实现原理
腾讯云消息队列 MQTT 版 支持与消息队列 RocketMQ 版之间的消息路由转发:MQTT 消息经由RocketMQ提供的跨集群复制能力,根据预配置的路由规则,被转发至 RocketMQ 的相应主题中;同理 RocketMQ 的消息也可以投递到 MQTT 中,进而进一步投递到设备端。
RocketMQ 作为分布式消息队列,负责对消息进行持久化和分发,供下游多个业务服务消费与处理,从而形成从物联网终端状态感知到云端业务响应的闭环机制。整个过程实现了 MQTT 协议与 RocketMQ 协议之间的透明转换与可靠消息同步,确保了设备状态变更能够实时、准确地触达后端业务系统。
业务应用场景
充电桩设备的智能运维与状态管理
设备连接与遗嘱设置:充电桩设备在通过 MQTT 协议连接至云端服务端时,会预先在其连接请求中设置一条遗嘱消息,并指定其将被发布的 MQTT 主题。
异常离线与遗嘱触发:当充电桩因突发停电、网络中断或自身故障等原因异常断开连接时,MQTT 服务端会立即自动将该设备预设的遗嘱消息发布到指定的主题中,从而向云端宣告该设备已非正常离线。
跨协议消息路由:通过预先在 TDMQ 控制台配置的消息路由规则,MQTT 服务端指定主题上的遗嘱消息会被自动、可靠地转发至 TDMQ RocketMQ 的一个特定主题中。
运维服务消费与状态感知:后端的云端检修服务持续订阅 RocketMQ 的主题。一旦有新的遗嘱消息(即故障消息)到达,该服务便能立刻消费并解析该消息,准确获取故障设备的身份 ID、位置信息及可能的错误代码,在识别到设备异常状态后,随即自动触发后续的业务流程。
特性与优势
高可靠与自动化:可靠地通过批处理并发送 MQTT 消息到 RocketMQ,实现物联网设备与 RocketMQ 及应用系统的集成。
灵活的主题映射:RocketMQ 数据集成支持将 MQTT 主题灵活映射到 RocketMQ 主题。
业务可扩展性:RocketMQ 作为消息中间件,允许多个业务服务同时消费设备状态消息,支持系统平滑扩展和业务灵活迭代。
操作步骤
创建跨集群复制任务
1. 登录 消息队列 RocketMQ 版控制台,进入 跨集群复制 页面。
2. 单击新建任务,进行任务的创建。

3. 选定消息来源和消息复制目标,按要求填写字段:

任务名称:200字符以内,只能包含 中文、数字、字母、“-”和“_”;
源 Topic:通过下拉依次选择地域、集群、和 Topic,如果没有合适的集群或 Topic 可以在集群列表页进行新建。
目标 Topic:通过下拉依次选择地域、集群、和 Topic,如果没有合适的集群或 Topic 可以在集群列表页进行新建。
是否立即开启任务:如果打开开关,在任务创建完成后就按照当前任务的配置进行复制。
3.1 单击创建任务后,会跳转到任务列表页,在任务初始化后即创建完成。
查看任务详情
1. 在任务创建完成后,您可以在任务的列表页看到新增的复制任务,同时可以快速查看任务的状态。单击操作列的启动/暂停可以快速的开启和暂停任务。
2. 您可以单击任务名称,进入任务详情页查看任务的详细配置。运行中的任务不能修改配置信息,如果要修改复制任务的配置,请先暂停任务后,单击操作栏的编辑,或者进入任务详情页,单击“基本信息”右上角的编辑,修改任务的信息。

3. 在监控部分,您可以查看当前消息复制任务的实时监控,例如源消息消费总条数、消息复制失败条数、消息同步延迟等。
