特别说明
注意:微消息队列MQTT 与 设备通过MQTT接入阿里云IOT平台不是同一回事
微消息队列MQTT:
仅是换一种普通的消息队列换成一种更适合硬件设备的消息队列
https://help.aliyun.com/document_detail/42419.html?spm=a2c4g.11186623.6.552.605c70552NxT6n
阿里云物联网平台:
1:消息队列变为更适合硬件设备的消息队列(更合适的交互方式)
2:设备的重要信息(三元组 上下线情况) 同时存放于该平台
https://help.aliyun.com/product/30520.html?spm=a2c4g.750001.list.241.b2b97b13fn83At
1:什么是微消息队列MQTT版
最大的特点:弱网通讯
微消息队列MQTT版是阿里云推出的一款面向移动互联网以及物联网领域的轻量级消息中间件。
如果说传统的消息队列中间件一般应用于微服务之间,
那么适用于物联网的微消息队列MQTT版则实现了端与云之间的消息传递和真正意义上的万物互联。
2:核心概念
Topic:消息主题,一级消息类型,生产者向其发送消息。
生产者:也称为消息发布者,负责生产并发送消息至Topic。
消费者:也称为消息订阅者,负责从Topic接收并消费消息。
消息:生产者向Topic发送并最终传送给消费者的数据。
规则:微消息队列MQTT版与其他阿里云产品实现数据互通的资源。
3:消息收发模型
4:基本概念(名称解释 )
1:实例
创建购买微消息队列MQTT版服务的实体单元,
每个微消息队列MQTT版实例都对应一个全局唯一的服务接入点URL。
2:Message ID
消息的全局唯一标识,由微消息队列MQTT版系统自动生成,唯一标识某条消息。
3:MQTT服务器
微消息队列MQTT版提供的MQTT协议交互的服务端节点,
用于完成与MQTT客户端和消息队列RocketMQ版各自的消息收发。
4:MQTT客户端
用于和MQTT服务器交互的移动端节点,全称为微消息队列MQTT版客户端。
5:父级Topic(Parent Topic)
MQTT协议基于Pub/Sub模型,因此任何消息都属于一个Topic。
根据MQTT协议,Topic存在多级,定义第一级Topic为父级Topic,使用微消息队列MQTT版前,需先在控制台创建该父级Topic,
可以在微消息队列MQTT版控制台创建
或者直接在消息队列RocketMQ版的控制台创建。
6:子级Topic(Subtopic)
MQTT的二级Topic,甚至三级Topic都是父级Topic下的子类。
使用时,直接在代码里设置,无需创建。
需要注意的是微消息队列MQTT版限制父级Topic和子级Topic的总长度为64个字符,
如果超出长度限制将会导致客户端异常。
7:Client ID
微消息队列MQTT版的Client ID是每个客户端的唯一标识,要求全局唯一,使用相同的Client ID连接微消息队列MQTT版服务会被拒绝。
Client ID由两部分组成,组织形式为<GroupID>@@@<DeviceID>。
8:Group ID
用于指定一组逻辑功能完全一致的节点共用的组名,代表一类相同功能的设备。
Group ID需要在微消息队列MQTT版的控制台创建。
9:Device ID
每个设备独一无二的标识,由业务方自己指定。需要保证全局唯一,例如每个传感器设备的序列号。
5:协议相关(名称解释 )
1:ServerUrl
微消息队列MQTT版推荐移动终端使用公网接入点,也支持内网接入点。
2:MQTT
一种面向物联网和移动互联网领域的行业标准协议,适合移动终端之间的数据传输。
微消息队列MQTT版默认支持该协议
3:QoS(Quality of Service)指代消息传输的服务质量。
QoS0代表最多分发一次
QoS1代表至少达到一次
QoS2代表仅分发一次
4:cleanSession(对一个客户端建立TCP连接后是否关心之前状态)
cleanSession=true:客户端再次上线时,将不再关心之前所有的订阅关系以及离线消息。
cleanSession=false:客户端再次上线时,还需要处理之前的离线消息,而之前的订阅关系也会持续生效。
注意:如果客户端以QoS2方式订阅消息,即使设置cleanSession=false也不会生效。
6:MQTT 与 RocketMQ
微消息队列MQTT版配置了相关规则实现与消息队列RocketMQ版的数据互通,
则相关资源应处于同一地域。
RocketMQ消息结构 和 MQTT消息结构
在微消息队列 MQTT 版中 Topic 是多级结构,而消息队列 RocketMQ 版的 Topic 仅有一级,
因此,微消息队列 MQTT 版中的一级 Topic 映射到消息队列 RocketMQ 版的 Topic,
而二级和三级 Topic 则映射到消息队列 RocketMQ 版的消息属性(Properties)中。
RocketMQ地域 与 MQTT地域关系
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。