MQTT
MQTT створили 1999 року Andy Stanford-Clark та Arlen Nipper. 3.1.1 — ISO/IEC 20922, MQTT 5 — OASIS. Publisher публікує брокеру, який надсилає підписникам; клієнт може мати обидві ролі. Теми розділяють /, + відповідає одному рівню, # — решті за правилами. Структура й права — рішення застосунку.
Доставка й стан
QoS 0 — at most once, 1 — at least once, 2 — exactly once для відповідного MQTT-обміну. Це не гарантія одноразової бізнес-дії від джерела до споживача. QoS обирають за профілем.
Retained — остання retained-публікація теми, не автоматично останнє звичайне повідомлення; вона може застаріти. Last Will задають при підключенні, публікують за умов від’єднання. Час виявлення залежить від транспорту, Keep Alive, Will Delay і сесії.
MQTT 5 і безпека
Версія 5 додає properties, shared subscriptions, aliases, expiry та reason codes. Enhanced Authentication розширюваний, може підтримувати SASL-подібний обмін.
TLS захищає відповідні з’єднання, засвідчення й topic ACL обмежують дії. Пароль чи токен сам не шифрує канал. Планують місткість, persistence, сертифікати й віддалений доступ.
Sparkplug B
Sparkplug задає namespace, типізовані Protobuf-метрики й стан. Теми spBv1.0/group/message-type/edge-node можуть включати device. NBIRTH/DBIRTH задають модель, NDATA/DDATA — зміни, NDEATH/DDEATH — втрату, NCMD/DCMD — команди. Стан Primary Host допомагає відновленню.
Alias тлумачать лише після відомої BIRTH-моделі. Timestamps і properties важливі. is_null/is_transient — конкретні поля, не універсальна якість IEC. QoS/retained визначає тип Sparkplug-повідомлення, не загальне QoS 1.
Інтеграція
Gateway може читати Modbus/телемеханіку та публікувати метрики. Не кожний хмарний IoT-сервіс є повним брокером Sparkplug; перевіряють теми, підписки, LWT та retained, іноді потрібен адаптер.
IEC 104 k — вікно непідтверджених I-кадрів, не кількість підписників. Місткість залежить від реалізації. Sparkplug має TCK для відповідності, але не універсального підтвердження придатності захисним функціям.
Практика
Тестують BIRTH, reconnect, DEATH, aliases і відновлення, застарілі retained та втрати. Частоти, обсяг і навантаження вимірюють до рішення про кластер. MQTT доповнює IEC 104/61850; керування оцінюють за часом, відмовами й задачею.
