优秀行业网站,国内做服装的网站有哪些方面,通付盾 建设网站公司,百度推广关键词排名规则HTTP是应用最为广泛和流行的协议。但是MQTT在过去的几年里迅速取得了进展。在讨论物联网开发的时候#xff0c;开发者必须在这两者之间作出选择。 MQTT集中于数据#xff0c;而HTTP集中于文档。HTTP是一个用于客户端-服务器计算的请求-响应协议#xff0c;它并非总是为移动设…HTTP是应用最为广泛和流行的协议。但是MQTT在过去的几年里迅速取得了进展。在讨论物联网开发的时候开发者必须在这两者之间作出选择。 MQTT集中于数据而HTTP集中于文档。HTTP是一个用于客户端-服务器计算的请求-响应协议它并非总是为移动设备而优化。在这些术语中MQTT的主要优势是轻量级(MQTT以字节数组的形式传输数据)和发布/订阅模型这使得MQTT非常适合资源有限的设备并且有助于节约电池。另外发布/订阅模型使客户能够相互独立从而提高整个系统的可靠性。在一个客户机失败的情况下整个系统可以继续正常工作。 MQTT优势还是比较多的具体如下 1、低协议开销MQTT 的独特之处在于它的每消息标题可以短至 2 个字节。MQ 和 HTTP 都拥有高得多的每消息开销。对于 HTTP为每个新请求消息重新建立 HTTP 连接会导致重大的开销。MQ 和 MQTT 所使用的永久连接显著减少了这一开销。 2、对不稳定网络的容忍MQTT 和 MQ 能够从断开等故障中恢复而且没有进一步的代码需求。但是HTTP 无法原生地实现此目的需要客户端重试编码这可能增加幂等性问题。 3、低功耗MQTT 是专门针对低功耗目标而设计的。HTTP 的设计没有考虑此因素因此增加了功耗。 4、数百万个连接的客户端在 HTTP 堆栈上维护数百万个并发连接需要做许多的工作来提供支持。尽管可以实现此支持但大多数商业产品都为处理这一数量级的永久连接而进行了优化。IBM 提供了 IBM MessageSight这是一个单机架装载服务器经过测试能处理多达 100 万个通过 MQTT 并发连接的设备。相反MQTT不是为大量并发客户端而设计的。 5、推送通知您需要能够及时地将通知传递给客户。为此必须采用某种定期轮询或推送方法从电池、系统负载和带宽角度讲推送是最佳解决方案。 我们的企业可能需要在没有第三方中介的情况下发送敏感的信息。这降低了特定于操作系统的解决方案比如 Apple iOS、Google Play 通知作为主要传输机制的价值。 HTTP 只允许使用一种称为COMET 的方法使用持久的 HTTP 请求来执行推送。从客户端和服务器的角度讲此方法都很昂贵。MQ 和 MQTT 都支持推送这是它们的一个基本特性。 6、客户端平台差异HTTP 和 MQTT 客户端都已在大量平台上实现。MQTT 的简单性有助于以极少的精力在额外的客户端上实现 MQTT。 7、防火墙容错一些企业防火墙将出站连接限制到一些已定义的端口。这些端口通常被限制为 HTTP80 端口、HTTPS443 端口等。HTTP 显然可以在这些情况下运行。MQTT 可封装在一个 WebSockets 连接中显示为一个 HTTP 升级请求从而允许在这些情况下运行。MQTT不允许采用这种模式。 与HTTP相比MQTT协议保证了高传输速率。服务质量分三个层次
A、至多一次尽力保证交货。
B、至少一次确保邮件至少被发送一次但信息也可以不止一次的传递。
C、碰巧一次保证每条信息只被另一方接收一次。
事实上MQTT的应用非常之广泛几乎现在随便找一家大型的硬件、互联网企业都可以找到MQTT的身影例如Facebook、BP、alibaba、baidu等等。
由于MQTT本身的各项技术优势越来越多的企业倾向于选用MQTT作为物联网产品通讯的标准协议也因此工程师们渐渐发现MQTT协议要想大规模商用也有一些有待完善的功能。比如
1、没有齐备的SDK不同的异构终端需要有对应的与MQTT服务器通信的软件SDK包比如MCU、Linux、Android、IOS、WEB等之间要实现互联互通必然需要不同的SDK包。
2、不支持File和AV有些应用场景需要传输的信息可能不仅仅限于指令比如声音信号和视频信号这些需要通过File和AV来实现通信。
3、不支持与第三方HTTP的集成虽然MQTT协议优于普通的HTTP协议但是基于传统的HTTP协议的WEB服务器仍然占主流市场那么这些服务器要实现与MQTT协议的互联互通以降低升级成本也尤为关键。
4、不支持负载均衡为防止高并发和恶意攻击负载均衡服务器也必不可少。
5、不支持用户管理接口用户在进行设备的行为数据分析的时候显得尤为重要这又是工业4.0、大数据时代的必然需求。
6、不支持离线消息弥补设备离线以后MQTT服务器对设备的控制信息丢失的问题。
7、不支持点对点通信采用标准的MQTT协议理论上可以通过相互订阅的方式实现点对点通信但是逻辑相对复杂并且对设备的安全性方面存在担忧。当设备B和设备C在同一主题的情况下设备A无法知道是设备B还是设备C发送的消息也有可能消息被设备D窃听。
8、不支持群通信和群管理实现了对群组成员的管理群组成员之间能互通消息这在一个设备被多人控制或者多个设备被一人控制的这种场景下尤为有用。