MQTT (Message Queuing Telemetry Transport)

MQTT (Message Queuing Telemetry Transport) — это легкий и энергоэффективный протокол обмена сообщениями, разработанный для устройств с ограниченными вычислительными ресурсами и работы в сетях с низкой пропускной способностью или нестабильным соединением.

Ключевые характеристики MQTT

  • Модель Pub/Sub (Издатель-Подписчик) – клиенты могут публиковать сообщения в топики или подписываться на них, не зная друг о друге.
  • Минимальный накладной расход – заголовок сообщения может занимать всего 2 байта.
  • Поддержка QoS – три уровня гарантии доставки (0, 1, 2).
  • Работа поверх TCP/IP – использует порт 1883 (или 8883 для TLS).
  • Поддержка Last Will and Testament (LWT) – уведомление о нештатном отключении клиента.

Основные компоненты

  • Брокер – сервер, пересылающий сообщения между клиентами.
  • Клиенты – устройства (например, датчики или смартфоны), публикующие или подписывающиеся на топики.

Пример применения: Умный дом (датчики температуры публикуют данные в топик home/sensor/temp, а клиенты подписываются на него).

Протокол широко используется в IoT, промышленной автоматизации и мобильных приложениях.