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, промышленной автоматизации и мобильных приложениях.