IBM IoT Foundation:何时使用MQTT以及何时使用REST进行事件提交?

Kol*_*ban 7 rest mqtt iot ibm-cloud

IBM IoT Foundation允许设备将事件提交给IBM云以供使用和记录.似乎有两种主要机制来实现事件的传输...... MQTT和REST(HTTP POST请求).假设一个项目的传感器可以通过Internet直接与IBM云连接,那么我们可以认为这两种技术之间存在潜在的区别?我们选择MQTT或REST作为使用技术的因素是什么?在IBM最后一英里是否存在任何实质性的性能差异,可以说一种技术比另一种更受欢迎?

小智 11

MQTT旨在成为一种快速,轻量级的消息传递协议,因此,当用于执行等效操作时,它比HTTP更快,更高效.更高效不仅意味着更少的交通数据和更快的速度,而且有时它也意味着更少的电力.在带宽受到关注的情况下,MQTT特别好.

但是,MQTT确实需要一个客户端实现(如Paho),这可能是一个比HTTP客户端实现更罕见的东西,它会更普遍,因此在任何给定设备上更容易/更容易获得.

还有TCP/IP端口注意事项,其中某些网络硬件可能需要HTTP端口80或443(尽管IoTF支持端口443上的MQTT和MQTTWS).

选择HTTP而不是MQTT(或者说COAP)也可能存在意识形态或哲学上的原因,但通常,我会说选择HTTP而不是MQTT的原因是与网络相关或与客户端支持相关.

目前还没有关于性能差异的官方文章,但可以肯定地说,只要任何消息传递方案(长期存在的连接或adhoc等),MQTT将更高效,更快捷.