【问题标题】:RESTful API with COAP, MQTT, or other lightweight protocol带有 COAP、MQTT 或其他轻量级协议的 RESTful API
【发布时间】:2017-11-13 14:25:48
【问题描述】:

我有一个有效的 HTTP RESTful API,它将接收一个 ID,然后检查数据库中的数据。根据记录和相关记录的状态,它将返回状态错误,或者如果一切准备就绪,它将返回有关记录的一些信息。它还有一些其他功能,但我的问题是我们用来收集这些数据的设备无法访问 WiFi,我们计划测试 2G 蜂窝解决方案,但我知道 HTTP 请求即使它也会太慢完成。

我的设备可以使用什么轻量级协议将 36 字符 UUID 发送到服务器并返回 JSON 响应。我一直在探索有关 MQTT 和 COAP 的信息,但没有看到太多关于向另一台设备询问记录的特定 ID 的信息,这更像是询问硬件的状态。

此外,如果有一个解决方案,我可以与我现有的 API 进行交互,这将是理想的。

感谢您的帮助。

【问题讨论】:

  • 响应有多大?

标签: rest http mqtt coap


【解决方案1】:

我不确定为什么 2G 蜂窝解决方案不能很好地与 HTTP(S) 配合使用。

根据另一个SO answerhttp的大小是:

今天的请求标头有所不同 大小从 ~200 字节到超过 2KB。随着应用程序使用更多 cookie 和用户代理扩展功能,典型的标头大小为 700-800 字节 很常见

根据wiki,您可以达到 40kbit/s。我不太确定在这种情况下使用 http(s) 有什么问题。

如果您使用 UDP 之类的东西,它可能会更快且更小,但是由于丢包的可能性,它不如 HTTP 可靠。更不用说您还可以对 HTTP 请求应用 gzip 或其他形式的压缩以使其更小。

小更新

如果不需要该数据,您可以每小时或半天批量上传,将所有数据存储在本地数据库中,并在特定时间间隔执行 1 个较大的主 HTTP 请求,但将包含所有数据?我不完全确定您的要求是什么,但 HTTP 应该适合您超过 2G 的情况

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2016-02-21
    • 2015-07-06
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多