IBM IoT Foundation позволяет устройствам отправлять события в облако IBM для потребления и записи. Кажется, есть два основных механизма для достижения передачи событий ... MQTT и REST (HTTP POST-запросы). Предполагая, что у проекта будут датчики с прямой связью TCP с областью IBM через Интернет, что мы можем рассматривать как потенциальные различия между этими двумя технологиями? Какие факторы могут повлиять на выбор MQTT или REST в качестве технологии для использования? Существуют ли существенные различия в производительности на конечной миле в конце IBM, которые говорят, что одна технология предпочтительнее другой?IBM IoT Foundation: Когда использовать MQTT и когда использовать REST для отправки событий?
ответ
MQTT предназначен для быстрого и легкого обмена сообщениями протокола и, как результат, быстрее и эффективнее, чем HTTP, когда используется для выполнения эквивалента. Более эффективный не только означает меньшие данные о трафике и большую скорость, но иногда это может означать и меньшую электрическую мощность. MQTT особенно хорош, когда пропускная способность является проблемой.
MQTT, однако, нуждается в реализации клиента (например, Paho), которая, возможно, является более редкой вещью, чем реализация HTTP-клиента, которая будет более распространенной и, следовательно, более вероятно/легко доступна на любом данном устройстве.
Есть также проблемы с портом TCP/IP, где для некоторых сетевых устройств могут потребоваться HTTP-порты 80 или 443 (хотя IoTF поддерживает MQTT и MQTTWS на порту 443).
Возможно, существует и идеологическая или философская причина выбора HTTP вместо MQTT (или COAP, если на то пошло), но обычно я бы сказал, что причины выбора HTTP вместо MQTT будут связаны с сетью или поддержкой клиентов.
До сих пор нет официальной бумаги о различиях в производительности, но можно с уверенностью сказать, что MQTT будет более эффективным и быстрым, учитывая практически любой сценарий обмена сообщениями (долгоживущие соединения или adhoc и т. Д.).
- 1. Mosquitto и IBM Iot Foundation
- 2. Когда использовать JMS и когда использовать REST?
- 3. Управление устройствами IBM IoT Foundation
- 4. Когда использовать Windows Workflow Foundation?
- 5. Получить список устройств от IBM BLUEMIX IoT Foundation
- 6. когда использовать Bpm и когда использовать esb
- 7. Когда не использовать API REST?
- 8. Есть ли образец для использования API REST IoT Foundation?
- 9. Когда использовать Foundation/Bootstrap или custom css?
- 10. Когда использовать app.use и когда использовать app.all?
- 11. Когда использовать socket.io и когда использовать ajax
- 12. Когда использовать :: и когда использовать # в документации
- 13. Когда использовать IList и когда использовать Список
- 14. , когда использовать LDAP и когда использовать PrincipalContext
- 15. Когда использовать __proto__ и когда использовать прототип
- 16. Когда использовать класс и когда использовать dict?
- 17. Когда использовать ReaderWriterLockSlim и когда использовать ConcurrentBag?
- 18. События и звонки, когда использовать и когда их не использовать?
- 19. Когда использовать POJO и когда использовать SLSB
- 20. Когда использовать IDataReader и когда использовать DataReader?
- 21. Когда использовать себя и когда использовать сохранить
- 22. Когда использовать jQuery.ajax и когда использовать jQuery.post?
- 23. Когда использовать расширения и когда использовать интерфейс?
- 24. Когда использовать задачу и когда использовать Thread?
- 25. Когда использовать .shape и когда использовать .reshape?
- 26. Когда использовать длину и когда использовать длину()
- 27. Когда использовать XOR и когда использовать IFF?
- 28. Когда использовать модуль и когда использовать класс
- 29. Когда использовать систему() и когда использовать execv *()?
- 30. Когда использовать собственный и когда использовать Blas