Pull to refresh

Comments 8

Чем протокол на потребительском уровне отличается от Websocket?
Та же pub\sub парадигма, броадкаст, мультикаст и уникаст (с небольшим прикрутками на стороне вебсокет сервера).
Но при использовании websocket очевидны приемущества:
— работа через Firewallы
— простое SSL (работает поверх HTTP)
— авторизация посредствам HTTP Basic / HTTP Headers
— в теории абсолютно любой протокол внутри (бинарный\текстовый)

?

В MQTT eсть QoS :) Чуть-чуть более компактный, что обычно довольно критично для IoT. TLS тоже штука не всегда доступная на IoT, да и не нужная особо, на крайний случай можно и payload на L7 зашифровать.

Вот про то, что TLS в IoT не нужно — довольно спорное утверждение.
Шифруя на L7 есть риск наступить на множество граблей, которые уже были решены при разработке TLS.

Да мне вообще оба протокола индифферентны, если честно :) Так уж сложилось, что ни разу не приходилось ни один из них юзать нигде, кроме hello-world проектов.


Я так… просто увидел вопрос и написал рандомный ответ :)

Можно немного подробнее как QoS реализрван на прикладном уровне? В теории заглядывать во внутрь TCP пакетов — занятие дорогое и доступное только NG железкам. Соответственно стандартные L4 роутеры могут QoSить только транспортный уровень что впринципе без разницы что для Websocket что для MQTT
Где я ошибаюсь в своем понимании мира?

Не следует путать QoS и приоритеты трафика на роутерах. Хоть IP QoS, как правило, так или иначе сводится к приоритетам — это всего лишь деталь реализации.


QoS — это требования к надёжности и срочности доставки сообщения. Надёжность достигается квитированием и повторными попытками передачи, а вовсе не роутерами и транспортным уровнем. Срочность влияет на порядок передачи сообщений. В принципе, её как раз было бы неплохо продублировать и на сетевом уровне — вот только без специального договора с провайдером никто в итоге не посмотрит на это поле, что делает затею бессмысленной. И да, судя по тому что я увидел, срочностю сообщений MQTT не управляет.

Я бы добавил, что приведенные примеры на js, работающие в браузере, реализованы через WebSockets.

Кроме того MQTT хорошо подходит для распределенной реактивной разработки.
Sign up to leave a comment.

Articles