MQTT协议主题(Topic)规范,最佳实践
设备订阅/发布主题规范
Topic格式示例:heart_beat/:ProductName/:DeviceName/:DataType/:MessageID
数据项说明:
- heart_beat:订阅的功能说明,这里heart_beat表示心跳功能;
- ProductName:设备的产品名,比如:ai表示ai武术大屏、box代表储物柜等,可根据不同的产品来进行命名;
- DeviceName:设备名称,即设备编号,或设备的用户名;
- DataType:上传的数据类型,由设备端和业务系统进行约定。比如上传的数据为版本信息,则为version;在主题名中添加这一层的目的是使用主题名尽量精确;
- MessageID:每个消息的唯一ID。确保唯一性,可采用UUID,用于防止消息重复处理,业务系统做幂等处理。
具体示例
heart_beat/ai-wushu/NxeafeDEXaefewx12fe/message/5ces9rwenc018kqrr10kna19
说明:
- heart_beat表示心跳功能;
- ai-wushu和NxeafeDEXaefewx12fe确定是ai武术的某个设备;
- message表示数据类型为消息;
- 5ces9rwenc018kqrr10kna19表示当前这次请求ID;
备注说明
关于主题(topic)规则由业务开发人员主导,对所有接入MQTT Broker的终端进行限制;
欢迎关注公众号“程序新视界”一起交流学习。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接