前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【物联网架构】为什么IoT开发人员困惑MQTT和CoAP?

【物联网架构】为什么IoT开发人员困惑MQTT和CoAP?

作者头像
首席架构师智库
发布2020-07-20 12:19:24
4850
发布2020-07-20 12:19:24
举报
文章被收录于专栏:超级架构师超级架构师

最近在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来处理外围设备,并与后端通信,以帮助减少不良连接带宽。

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

微信公众号

关注微信公众号【首席架构师智库】

微信小号

希望加入的群:架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化,产品转型。

知识星球

向大咖提问,近距离接触,或者获得私密分享。

点击加入知识星球【首席架构师圈】

微信圈子

志趣相投的同好交流。

点击加入微信圈子【首席架构师圈】

喜马拉雅

路上或者车上了解最新黑科技资讯,架构心得。

点击,收听【智能时刻,架构君和你聊黑科技】

知识星球

认识更多朋友,职场和技术闲聊。

点击加入知识星球【知识和技术】

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 首席架构师智库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档