为什么IoT开发人员困惑MQTT和CoAP?

最近在Exadel,我们遇到了一个有趣的挑战,对物联网的开发者。因为IoT应用程序获得了如此多的动力,所以有越来越多的选择如何开发它们。对于设备通信,两个专门的竞争协议脱颖而出:消息队列遥测传输(MQTT)和约束应用协议(CoAP)。它们都设计为轻量级,并仔细使用稀缺的网络资源。两者都在正确的环境中使用,但问题是,由于物联网发展的相对发展,人们不知道这些协议是什么或何时使用。

这些不是每个人使用的标准Web协议。

鉴于我们自己内部的对话,我决定帮助我们解释这些。首先,我们来看看这些协议是什么。

什么是MQTT?

对于外行人来说,MQTT很像Twitter。这是一个“发布和订阅”协议。您可以订阅某些主题并发布在其他主题上。您将收到有关您订阅的主题的消息,并且订阅您发布的主题的人将收到这些消息。当然有区别。例如,您可以通过保证交付来配置协议更可靠。发布/订阅系统利用一个经纪人,为了进一步推出类比,Twitter平台本身将根据您的订阅偏好过滤消息。

什么是CoAP?

CoAP更像是传统的基于网站的业务,如亚马逊。您要求资源(亚马逊示例中的页面和搜索结果),并且偶尔还会提交您自己的数据(进行购买)。 CoAP被设计为看起来像是兼容HTTP,它支持大多数互联网,因为我们目前知道的。 CoAP可以利用代理服务器,并将其转换成HTTP,或者根据环境限制直接与设计为使用CoAP的特殊服务器进行通信。

你什么时候使用它们?

你可能都在问的问题是,“如果他们很相似,我应该何时使用一个对另一个?”

由于发布/订阅体系结构与中间商中介,MQTT是广域网(WAN,互联网)上的设备之间的通信的理想选择。它在带宽有限的情况下是最有用的,例如远程现场站点或其他缺乏强大网络的区域。 MQTT是Azure和Amazon服务产品的一部分,因此它具有很多已建立的架构,使其易于适应当前的开发人员。

在CoAP的情况下,最强的用例是与HTTP的兼容性。如果您有一个基于Web服务的现有系统,那么在CoAP中添加是一个很好的选择。它建立在用户数据报协议(UDP)上,这在一些资源有限的环境中是有用的。由于UDP允许广播和多播,您可以使用较少的带宽潜在地传输到多个主机。这使得它对于设备需要快速交流的本地网络环境很好,这对于一些M2M设置是传统的。

如果物联网开发人员正在使用将利用现有Web服务器架构的设备,开发人员将使用CoAP。但是,如果开发者正在构建一个设备真正“仅报告”的东西 - 也就是说,它被丢弃在网络上,只需要将数据报告回服务器 - CoAP将会更好。其他用途,如云架构,可能最好用MQTT完成。

MQTT和CoAP的未来

随着时间的推移,对于其他协议,使用或行业采用趋向于向更自由和包容的平台迁移,除非非包容性平台更好。 MQTT和CoAP都是开放标准,任何人都可以实现。 CoAP由标准机构启动,而不是由私有公司(包括IBM)设计的MQTT。 CoAP被设计为处理资源有限的环境,可能是它成为赢家,但是目前MQTT似乎处于领先地位。 MQTT背后有显着的动力 - 大云玩家已经选择了这一势头,或者至少选择它。此外,许多商业用例需要MQTT(存储和转发,集中式主机)的功能。然而,一种可能性是,一些围绕HTTP(例如移动应用程序开发)进行标准化的软件开发可以开始利用CoAP来处理外围设备,并与后端通信,以帮助减少不良连接带宽。

最终,这些协议可以通过互联网有效部署在不同的应用程序中。我们知道有特定的使用案例,其中每个都是最好的,但是我们也知道,物联网和物联网设备将会在复杂性和普及性方面继续发展。对于开发人员来说,了解应用程序的关键差异不仅可以实现更好的初始部署,而且可以为今后的开发工作奠定坚实的基础。

原文发布于微信公众号 - 智能计算时代(intelligentinterconn)

原文发表时间:2017-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏重庆的技术分享区

成功准备微服务的5个步骤

原文地址:https://medium.com/@kikchee/5-steps-to-successfully-prepare-for-microservic...

1252
来自专栏CDA数据分析师

推荐 | 10款超好用的网站数据实时分析工具

网络分析工具可以帮助你收集、预估和分析网站的访问记录,对于网站优化、市场研究来说,是个非常实用的工具。 每一个网站开发者和所有者,想知道他的网站的完整的状态和访...

2197
来自专栏marsgis

基于 Cesium 的Web三维地球客户端程序开发框架

MarsGIS for Cesium三维地球框架 是火星科技研发的一个Web三维地图开发平台系统,是火星科技团队成员多年GIS开发和Cesium使用的技术沉淀。...

9731
来自专栏云计算D1net

如何让数据迁移到云端更加容易

如今,许多企业都在采用“云优先”的策略,并建议IT团队评估云存储是否是一个可以接收所有请求的可行选项。实施这种策略是可以理解的,因为云计算提供了许多好处,包括促...

3606
来自专栏云计算D1net

将PB级数据传输到云端的四个步骤

如今,各种组织正在越来越多地使用公共云基础设施,但是人们发现将数百TB或PB数据向云端的迁移比想像得更复杂,更具破坏性,并且不具备灵活性。 ? 云存储的商业价...

3587
来自专栏叔叔的博客

自动化测试从入门到放弃

942
来自专栏移动安全

完美适配Android P的加固

北京时间8月7日,Google 正式发布最新版 Android 平台——Android 9 Pie。 腾讯云终端安全团队在第一时间升级应用加固方案,完成  An...

6203
来自专栏云计算D1net

将应用程序移动到云计算的5个步骤

组织对于关键业务应用程序的迁移,需要进行充分的前期准备,并保持其在整个过程中所需要的控制。 ? 业务应用程序以创纪录的数量进入云端,使用户和IT团队进入了访问...

3515
来自专栏云计算D1net

闲话虚拟化和云计算的异同点

经常有人讨论这两者的区别,在这个行业时间长,听到的也自然很多,这里做一个总结。下面的观点,我想没有对和错,只是理解不同。 所谓虚拟化,虚拟机,vps,其实是差不...

3964
来自专栏云计算D1net

多云环境带来管理挑战

企业中多云环境的增长点燃了降低复杂性和冗余性管理工具的需求。 根据Gartner的数据,接近半数的大型企业将在2017年末之前运行混合云架构。灵活性、可伸缩性和...

42810

扫码关注云+社区

领取腾讯云代金券