高端企业网站公司,企业网站建设方案 word,1网站建设,WordPress小说网源码以解决问题方式逐步学习探索 mqtt使用场景mqtt可能缺点mqtt学习疑问探索1、mqtt主题发布过的历史消息#xff0c;全新连接的client能消费到吗#xff1f;2、mqtt的client掉线如何重连#xff0c;重连后订阅的topic配置还在不#xff1f;3、mqtt的client掉线重连后#xff… 以解决问题方式逐步学习探索 mqtt使用场景mqtt可能缺点mqtt学习疑问探索1、mqtt主题发布过的历史消息全新连接的client能消费到吗2、mqtt的client掉线如何重连重连后订阅的topic配置还在不3、mqtt的client掉线重连后如何保证掉线期间的消息能被消费到4、mqtt客户端订阅的消息能保证按序消费吗5、mqtt客户端能订阅自己发布的主题消息吗6、mqtt设置QoS2还有必要在业务端判重吗7、mqtt协议服务端支持的最大连接数8、mqtt服务器控制台9、mqtt中的普通消息、保留消息、遗嘱消息区别10、消息默认是否过期能否设置过期时间11、支持延迟发布12、用户属性13、共享订阅14、排它订阅15、自动订阅16、主题通配符 mqtt使用场景
MQTTMessage Queuing Telemetry Transport是一种轻量级的消息传输协议特别适用于资源受限的设备内存小和网络环境较差低带宽、降低网络流量成本的场景。适用于物联网IoT设备之间的通信常用于发布/订阅模式的消息传输。
mqtt可能缺点
不适合大数据量传输、缺乏复杂的事务处理、消息顺序不保证、依赖中间代理
mqtt学习疑问探索
1、mqtt主题发布过的历史消息全新连接的client能消费到吗
针对普通消息不能只能消费新发布的普通消息 保留消息retained messages例外有些设备上线要知道最新的设备状态等
2、mqtt的client掉线如何重连重连后订阅的topic配置还在不
可以配置成自动连接或手动连接。 连接后订阅的topic配置不存在了确实需要重新订阅之前的主题
3、mqtt的client掉线重连后如何保证掉线期间的消息能被消费到
可以设置会话不被清空会话清空的话就消费不到掉线期间产生的消息了。 参考方法setCleanSession(true or false)
4、mqtt客户端订阅的消息能保证按序消费吗
得考虑是否支持QoS2配置、能否按序生产、能否按序消费
5、mqtt客户端能订阅自己发布的主题消息吗
可以
6、mqtt设置QoS2还有必要在业务端判重吗
保守、严谨来说业务侧还是很有必要进行判重。 主要是因为消息消费后在最后的确认机制未成功反馈结果时极端情况下手动确认时网络异常、系统故障等消息还是可能被重复进行消费
7、mqtt协议服务端支持的最大连接数
具体看选择的mqtt协议中间件类型、服务器配置、压测等情况…
8、mqtt服务器控制台
看具体使用的mqtt协议中间件
9、mqtt中的普通消息、保留消息、遗嘱消息区别
保留消息可以在新客户端订阅时推送 遗嘱消息是客户端连接时指定的消息可以在broker监测离线时推送告知给其他订阅的客户端
10、消息默认是否过期能否设置过期时间
发布后broker存储默认不过期普通消费消费后自动删 可以设置过期时间过期不消费会被清掉不会再推送消费
11、支持延迟发布
支持即可提前发布消息在broker服务端留存达到一定的延迟时间再推送到订阅的客户端去消费
12、用户属性
可以在发送消息时指定用户属性有点类似于设置http接口的请求头参数
13、共享订阅
mqtt5.0支持即共享订阅后同一主题的多个客户端可以负载均衡处理消息。 在普通的订阅中我们每发布一条消息所有匹配的订阅端都会收到该消息。当某个订阅端的消费速度无法跟上消息的生产速度时我们没有办法将其中一部分消息分流到其他订阅端中来分担压力。这使订阅端容易成为整个消息系统的性能瓶颈。
14、排它订阅
一个主题当前仅能存在一个订阅者在当前订阅者未取消订阅前其他订阅者都将无法订阅该主题。
15、自动订阅
自动订阅能够给 EMQX 设置多个规则在设备成功连接后按照规则为其订阅指定主题不需要额外发起订阅。
16、主题通配符
支持通配符规则设置主要用于客户端一次订阅多个主题