2016-02-17 1 views
4

IBM IoT Foundation позволяет устройствам отправлять события в облако IBM для потребления и записи. Кажется, есть два основных механизма для достижения передачи событий ... MQTT и REST (HTTP POST-запросы). Предполагая, что у проекта будут датчики с прямой связью TCP с областью IBM через Интернет, что мы можем рассматривать как потенциальные различия между этими двумя технологиями? Какие факторы могут повлиять на выбор MQTT или REST в качестве технологии для использования? Существуют ли существенные различия в производительности на конечной миле в конце IBM, которые говорят, что одна технология предпочтительнее другой?IBM IoT Foundation: Когда использовать MQTT и когда использовать REST для отправки событий?

ответ

6

MQTT предназначен для быстрого и легкого обмена сообщениями протокола и, как результат, быстрее и эффективнее, чем HTTP, когда используется для выполнения эквивалента. Более эффективный не только означает меньшие данные о трафике и большую скорость, но иногда это может означать и меньшую электрическую мощность. MQTT особенно хорош, когда пропускная способность является проблемой.

MQTT, однако, нуждается в реализации клиента (например, Paho), которая, возможно, является более редкой вещью, чем реализация HTTP-клиента, которая будет более распространенной и, следовательно, более вероятно/легко доступна на любом данном устройстве.

Есть также проблемы с портом TCP/IP, где для некоторых сетевых устройств могут потребоваться HTTP-порты 80 или 443 (хотя IoTF поддерживает MQTT и MQTTWS на порту 443).

Возможно, существует и идеологическая или философская причина выбора HTTP вместо MQTT (или COAP, если на то пошло), но обычно я бы сказал, что причины выбора HTTP вместо MQTT будут связаны с сетью или поддержкой клиентов.

До сих пор нет официальной бумаги о различиях в производительности, но можно с уверенностью сказать, что MQTT будет более эффективным и быстрым, учитывая практически любой сценарий обмена сообщениями (долгоживущие соединения или adhoc и т. Д.).

Смежные вопросы