MQTT 是否有标准化的 RPC 机制?
物联网
MQTT
标准
2021-06-27 23:41:17
3个回答
我不知道任何此类标准。
正如在另一个问题的答案中指出的那样,pub/sub 不适合 RPC,但它可以弯曲以适应。
MQTT 的优势之一是负载可以是任何东西,允许开发人员为他们的项目做出最佳选择。
我不确定您对基于 MQTT 的标准化 RPC 通信方法的要求是什么,但我仍然进行了一些搜索,并找到了几个要点可以提供给您。
首先,关于标准方法。在一个 Github rpc 项目中,描述是这样的:
该模块为 mqtt 连接提供了 rpc 接口,本质上这是一个使用 MQTT 主题结构作为传输的请求和响应策略。
关键是使用堆栈模型(OSI 模型是一个标准)并且只使用 MQTT 作为堆栈的层之一。
这个 json-rpc over mqtt 项目使用标准化或至少众所周知的 MQTT 协议。
关于笨拙,您不必从头开始构建 MQTT 和 RPC,而是使用链接库之一或 Github 上的其他库。
好吧,对于每种语言,Github 都没有现成的基础,但在这种情况下,合规性成为一个规划标准,不幸的是可能会影响整个其他项目。
Azure IoT 中心有一个直接方法的概念:
IoT 中心使您能够从云调用设备上的直接方法。
这是通过 MQTT 实现的(不支持 AMQP),其中
设备接收关于 MQTT 主题的直接方法请求:
$iothub/methods/POST/{method name}/?$rid={request id}.
他们已将其封装在他们的 SDK 中,因此开发人员无需担心专门监控该主题。您可以实施类似的方法。
根据其他答案,pub-sub 不适合 RPC,据我所知,没有任何标准。
更多文档在这里。
其它你可能感兴趣的问题