Sdílet prostřednictvím


Přehled funkce zprostředkovatele MQTT ve službě Azure Event Grid

Azure Event Grid umožňuje klientům MQTT komunikovat mezi sebou a se službami Azure, aby podporovali vaše řešení Internetu věcí (IoT). Funkce zprostředkovatele MQTT ve službě Azure Event Grid umožňuje provádět následující scénáře. Ukázky kódu, které demonstrují tyto scénáře v tomto úložišti.

  • Ingestování telemetrie pomocí vzoru zasílání zpráv M:1 Tento model umožňuje aplikaci přesměrovat zátěž správy vysokého počtu připojení se zařízeními ke službě Event Grid.
  • Řídit klienty MQTT pomocí vzoru zasílání zpráv typu požadavek -odpověď (1:1). Tento model umožňuje všem klientům komunikovat s jiným klientem bez omezení bez ohledu na role klientů.
  • Vysílání výstrah pro vozový park klientů pomocí vzoru zasílání zpráv 1:N Tento model umožňuje aplikaci publikovat pouze jednu zprávu, kterou služba replikuje pro každého zúčastněného klienta.
  • Integrujte data z klientů MQTT směrováním zpráv MQTT do služeb Azure a webhooků prostřednictvím funkce doručování nabízených oznámení HTTP. Tato integrace se službami Azure umožňuje vytvářet datové kanály, které začínají příjmem dat ze zařízení IoT.

Zprostředkovatel MQTT je ideální pro implementaci scénářů automobilového průmyslu a mobility, mimo jiné. V referenční architektuře se dozvíte, jak vytvářet zabezpečená a škálovatelná řešení pro propojení milionů vozidel s cloudem pomocí služeb Azure pro zasílání zpráv a analýzu dat.

Diagram vysoké úrovně služby Event Grid znázorňující obousměrnou komunikaci MQTT s klienty vydavatele a odběratele

Klíčové koncepty

Následuje seznam klíčových konceptů, které jsou součástí funkce zprostředkovatele MQTT v Azure Event Gridu.

MQTT

MQTT je přenosový protokol pro zasílání zpráv publikování a odběru, který byl navržen pro omezená prostředí. Jedná se o standard komunikace pro scénáře IoT z důvodu efektivity, škálovatelnosti a spolehlivosti. Zprostředkovatel MQTT umožňuje klientům publikovat a odebírat zprávy prostřednictvím protokolů MQTT v3.1.1, MQTT v3.1.1 přes WebSockets, MQTT v5 a MQTT v5 přes protokoly WebSockets. Následující seznam ukazuje některé z hlavních funkcí zprostředkovatele MQTT:

  • Funkce MQTT v5:

    • Poslední Will a Zákon (LWT) oznámí klientům MQTT náhlé odpojení ostatních klientů MQTT. Pomocí LWT můžete zajistit předvídatelný a spolehlivý tok komunikace mezi klienty MQTT během neočekávaných odpojení.
    • Vlastnosti uživatele umožňují přidat do hlavičky zprávy vlastní páry klíč-hodnota, které poskytují další kontext zprávy. Zahrňte například účel nebo původ zprávy, aby příjemce mohl zprávu efektivně zpracovat.
    • Model odpovědi na požadavek umožňuje klientům využívat standardní asynchronní vzor odpovědi požadavku a zadat téma odpovědi a ID korelace v požadavku, aby klient reagoval bez předchozí konfigurace.
    • Interval vypršení platnosti zprávy umožňuje deklarovat zprostředkovateli MQTT, kdy ignorovat zprávu, která již není relevantní nebo platná. Ignorujte například zastaralé příkazy nebo výstrahy.
    • Aliasy témat pomáhají klientům zmenšit velikost pole tématu a snížit tak náklady na přenos dat.
    • Maximální velikost zprávy umožňuje klientům řídit maximální velikost zprávy, kterou můžou zpracovat ze serveru.
    • Funkce Receive Maximum umožňuje klientům řídit rychlost zpráv v závislosti na jejich schopnostech, jako je rychlost zpracování nebo možnosti úložiště.
    • Vyčištění spuštění a vypršení platnosti relace umožňuje klientům optimalizovat spolehlivost a zabezpečení relace zachováním informací o odběru a zpráv klienta pro konfigurovatelný časový interval.
    • Negativní potvrzení umožňují klientům efektivně reagovat na různé kódy chyb.
    • Pakety odpojení odesílané serverem umožňují klientům efektivně zpracovávat odpojení.
  • Zprostředkovatel MQTT v budoucnu přidává další funkce MQTT v5, aby se více přizpůsobil specifikacím MQTT. Následující položky podrobně uvádějí aktuální rozdíly mezi funkcemi podporovanými zprostředkovatelem MQTT a specifikacemi MQTT v5: Nebude podporovat zprávy, zachovat příznak, řazení zpráv a QoS 2.

  • Funkce MQTT v3.1.1:

    • Poslední Will a Zákon (LWT) oznámí klientům MQTT náhlé odpojení ostatních klientů MQTT. Pomocí LWT můžete zajistit předvídatelný a spolehlivý tok komunikace mezi klienty MQTT během neočekávaných odpojení.
    • Trvalé relace zajišťují spolehlivost zachováním informací a zpráv předplatného klienta při odpojení klienta.
    • QoS 0 a 1 poskytují klientům kontrolu nad efektivitou a spolehlivostí komunikace.
  • Zprostředkovatel MQTT přidává další funkce MQTT v3.1.1 v budoucnu, aby se více přizpůsobil specifikacím MQTT. Následující položky podrobně uvádějí aktuální rozdíly mezi funkcemi podporovanými zprostředkovatelem MQTT a specifikací MQTT v3.1.1: Zachování příznaku, řazení zpráv a QoS 2 se nepodporuje.

Přečtěte si další informace o zprostředkovateli MQTT a aktuálních omezeních.

Model zasílání zpráv publikování a odběru

Model zasílání zpráv publikování a odběru poskytuje škálovatelnou a asynchronní komunikaci klientům. Umožňuje klientům přesměrovat zátěž zpracování velkého počtu připojení a zpráv ke službě. Prostřednictvím modelu zasílání zpráv publikování a odběru můžou klienti efektivně komunikovat pomocí vzorů zasílání zpráv 1:N, M:1 a 1:1.

  • Model zasílání zpráv 1:N umožňuje klientům publikovat pouze jednu zprávu, kterou služba replikuje pro každého zúčastněného klienta.
  • Model zasílání zpráv M:1 umožňuje klientům přesměrovat zátěž správy vysokého počtu připojení ke zprostředkovateli MQTT.
  • Model zasílání zpráv 1:1 umožňuje každému klientovi komunikovat s jiným klientem bez omezení bez ohledu na role klientů.

Obor názvů

Obor názvů event Gridu je kontejner pro správu prostředků podporujících funkce zprostředkovatele MQTT spolu s prostředky podporujícími funkce doručování změn. Klient MQTT se může připojit ke zprostředkovateli MQTT a publikovat nebo přihlásit k odběru zpráv, zatímco zprostředkovatel MQTT ověřuje vaše klienty, autorizuje žádosti o publikování a odběr a předává zprávy zúčastněným klientům. Přečtěte si další informace o konceptu oboru názvů.

Klienti

Klienti odkazují na zařízení IoT nebo aplikace, které publikují a odebírat zprávy MQTT.

Zařízení IoT jsou fyzické objekty, které jsou připojené k internetu za účelem přenosu telemetrie a příjmu příkazů. Tato zařízení mohou být senzory, spotřebiče, stroje nebo jiné objekty vybavené integrovanými senzory a softwarem. Senzory a software umožňují vzájemné komunikaci a interakci s prostředím kolem nich. Hodnota zařízení IoT spočívá v jejich schopnosti poskytovat data a přehledy v reálném čase a umožnit firmám a jednotlivcům činit informovaná rozhodnutí a zlepšit efektivitu a produktivitu.

Aplikace IoT jsou software navržený pro interakci a zpracování dat ze zařízení IoT. Obvykle zahrnují komponenty, jako je shromažďování dat, zpracování, úložiště, vizualizace a analýza. Tyto aplikace umožňují uživatelům monitorovat a řídit připojená zařízení, automatizovat úlohy a získávat přehledy o datech generovaných zařízeními IoT.

Ověřování klientů

Event Grid má klientský registr, který ukládá informace o klientech, kteří se k němu mohou připojit. Než se klient může připojit, musí existovat položka pro tohoto klienta v registru klienta. Když se klient připojuje ke zprostředkovateli MQTT, musí se ověřit pomocí zprostředkovatele MQTT na základě přihlašovacích údajů uložených v registru identit. Zprostředkovatel MQTT podporuje následující mechanismy ověřování klientů:

Řízení přístupu

Řízení přístupu je pro scénáře IoT zásadní vzhledem k obrovskému rozsahu prostředí IoT a jedinečným výzvám zabezpečení omezených zařízení. Event Grid poskytuje řízení přístupu na základě role (RBAC) prostřednictvím flexibilního modelu řízení přístupu, který umožňuje spravovat autorizaci klientů k publikování nebo přihlášení k odběru témat.

Vzhledem k obrovskému měřítku prostředí IoT je přiřazování oprávnění každému klientovi k jednotlivým tématům neuvěřitelně zdlouhavé. Flexibilní řízení přístupu ke službě Event Grid řeší tuto výzvu škálování prostřednictvím seskupování klientů a témat do skupin klientů a témat. Po vytvoření skupin klientů a prostorů témat můžete nakonfigurovat vazbu oprávnění pro udělení přístupu ke skupině klientů pro publikování nebo přihlášení k odběru prostoru tématu.

Diagram znázorňující model řízení přístupu zprostředkovatele Event Grid MQTT

Prostory témat také poskytují podrobné řízení přístupu tím, že umožňují řídit autorizaci jednotlivých klientů v rámci skupiny klientů k publikování nebo přihlášení k odběru vlastního tématu. Toto podrobné řízení přístupu se dosahuje pomocí proměnných v šablonách témat. Přečtěte si další informace o řízení přístupu.

Směrování

Event Grid umožňuje směrovat zprávy MQTT do služeb Azure nebo webhooků pro další zpracování. Proto můžete vytvářet komplexní řešení pomocí dat IoT pro analýzu dat, úložiště a vizualizace mimo jiné případy použití. Konfigurace směrování umožňuje odesílat všechny zprávy MQTT z klientů do tématu oboru názvů Event Gridu nebo vlastního tématu Event Gridu. Jakmile jsou zprávy v tématu, můžete nakonfigurovat odběr událostí tak, aby zprávy z tématu spotřebovávat. Tato funkce například umožňuje pomocí služby Event Grid směrovat telemetrii ze zařízení IoT do služby Event Hubs a pak do Azure Stream Analytics získat přehledy z telemetrie zařízení. Přečtěte si další informace o směrování.

Diagram znázorňující směrování zpráv MQTT ve službě Azure Event Grid

Integrace zprostředkovatele Edge MQTT

Event Grid se integruje s operacemi Azure IoT, aby přemostěla jeho schopnost zprostředkovatele MQTT na hraničních zařízeních s funkcí zprostředkovatele MQTT v cloudu v Azure Event Gridu. Operace Azure IoT poskytují nový distribuovaný zprostředkovatel MQTT pro hraniční výpočty běžící na clusterech Kubernetes s podporou Arc. Může se připojit ke zprostředkovateli Event Grid MQTT pomocí ověřování Microsoft Entra ID pomocí spravované identity přiřazené systémem, což zjednodušuje správu přihlašovacích údajů. MQTT Broker poskytuje vysokou dostupnost, škálovatelnost a zabezpečení pro vaše zařízení a aplikace IoT. Je teď k dispozici ve verzi Public Preview jako součást operací Azure IoT. Přečtěte si další informace o připojení zprostředkovatele Azure IoT Operations MQTT k zprostředkovateli MQTT služby Azure Event Grid.

Události životního cyklu klientů MQTT

Události životního cyklu klienta umožňují aplikacím reagovat na události týkající se stavu připojení klienta nebo operací prostředků klienta. Umožňuje sledovat stav připojení klienta, reagovat akcí pro zmírnění rizik pro odpojení klientů a sledovat obor názvů, ke kterému jsou vaši klienti připojeni během automatizovaných převzetí služeb při selhání. Přečtěte si další informace o událostech životního cyklu klienta MQTT.

Vlastní názvy domén

Podpora vlastních názvů domén umožňuje uživatelům přiřazovat vlastní názvy domén ke koncovým bodům MQTT a HTTP oboru názvů služby Event Grid, což zvyšuje zabezpečení a zjednodušuje konfiguraci klienta. Tato funkce pomáhá podnikům splňovat požadavky na zabezpečení a dodržování předpisů a eliminuje potřebu upravovat klienty, kteří jsou už propojeni s doménou. Přiřazení vlastního názvu domény k více oborům názvů může také pomoct zvýšit dostupnost, spravovat kapacitu a zpracovávat mobilitu klientů napříč oblastmi. Přečtěte si další informace o vlastních názvech domén.

Koncepty

Další informace o zprostředkovateli MQTT a jeho hlavních konceptech najdete v následujících článcích.