为什么物联网项目应该选择 GraphQL 而不是 MQTT?

物联网 MQTT aws-iot aws
2021-06-01 11:24:01

刚刚被分配到物联网项目。它是关于一个简单的物联网蜂窝设备,它几乎充当车库门控制。设备可以通过电话呼叫然后开门,它也做的是查询一个“云平台”,以预先配置的时间间隔(5-10分钟)存储授权的电话号码和配置文件

整个解决方案基于签约公司提出的架构——他们几乎提出了基于 AWS 的解决方案,设备使用一些 GraphQL 查询进行通信。

我试图用谷歌搜索这个,但没有成功 - GraphQL 是与云平台进行通信的好解决方案,用于低功耗和资源有限的设备而不是 MQTT 吗?如果是这样,你能告诉我为什么吗?与 MQTT 相比有哪些优势?QraphQL 数据更有效吗?可以更快地部署吗?

我仍然无法解释他们基于 GraphQL 查询的整个设备<->服务器通信的事实。我很困惑他们为什么提出这个问题,并从该领域的专家那里寻找答案。

谢谢,感谢所有的回应。

1个回答

这是一个很好的令人困惑的问题,我不是 GraphQL 专家,但是在我看来,MQTT 和 GraphQL 根本不是一回事,因为它们的用途不同:

  • MQTT 并不真正“存储”数据,它会保留一个值(或某个主题的某些值),直到它们被更新,然后将更新后的数据发送给订阅者。该协议没有为您提供任何形式的数据库,我真的不知道这对您的情况来说是一个很好的解决方案

  • GraphQL 为您提供了一种获取和保存数据的方法。它允许您构建客户可能习惯的 api。它看起来相当容易使用并且非常适合与 javascript 一起使用

我想最后你基本上会向服务器发送 https 请求并获取数据。但对我来说,这里有两项工作,构建一个用于保存和从服务器数据库获取数据的 api。然后使用该服务器(带或不带 API)与设备通信。