Válasszon az Azure-üzenetkezelési szolgáltatások közül – Event Grid, Event Hubs és Service Bus

Az Azure három olyan szolgáltatást kínál, amelyek segítenek az események vagy üzenetek kézbesítésében egy megoldásban. Ezek a szolgáltatások a következők: Azure Event Grid, Azure Event Hubs, Azure Service Bus.

Annak ellenére, hogy valamelyest hasonlítanak egymásra, minden szolgáltatás adott forgatókönyvekhez készült. Ez a cikk a szolgáltatások közötti különbséget ismerteti, és segít az alkalmazásához megfelelő szolgáltatás kiválasztásában. Az üzenetkezelési szolgáltatások sok esetben kiegészítik egymást és együtt használhatók.

Események és üzenetek

Fontos különbség van az eseményt kézbesítő szolgáltatások és az üzeneteket kézbesítő szolgáltatások között.

Esemény

Az események egy állapotról vagy állapotváltozásról szóló, kis méretű értesítések. Az esemény közzétevőjének nincsenek elvárásai az esemény kezelésével kapcsolatban. Az esemény fogyasztója dönti el, hogy mit tesz az értesítéssel. Az események lehetnek különálló egységek vagy egy sorozat részei.

A különálló események állapotváltozást jelentenek, és végrehajthatók. A következő lépéshez a fogyasztónak csak azt kell tudnia, hogy valami történt. Az eseményadatok arra vonatkozó információt tartalmaznak, hogy mi történt, de nem tartalmazzák az eseményt kiváltó adatokat. Egy esemény például arról értesíti a fogyasztót, hogy létrejött egy fájl. Lehet, hogy általános információval rendelkezik a fájlról, de nem rendelkezik magával a fájllal. A különálló események ideális megoldást jelentenek a skálázható, kiszolgáló nélküli megoldásokhoz.

Az események sorozata egy feltételt jelent, és elemezhető. Az események időrendi sorrendben vannak és egymáshoz kapcsolódnak. A fogyasztónak az események sorba állított sorozatára van szüksége a történtek elemzéséhez.

Üzenet

Az üzenetek felhasználható vagy máshol tárolható nyers adatok, amelyeket szolgáltatások hoznak létre. Az üzenet tartalmazza az üzenetfolyamatot kiváltó adatokat. Az üzenet közzétevőjének elvárásai vannak azzal kapcsolatban, hogy a fogyasztó hogyan kezeli az üzenetet. A két oldal között egy szerződés áll fenn. Például a közzétevő elküldi a nyers adatokat tartalmazó üzenetet, és azt várja el a fogyasztótól, hogy létrehozzon egy fájlt az adatokból, majd választ küldjön, amikor elkészült.

Most tekintsük át gyorsan, hogy mi az Azure Event Grid, az Azure Event Hubs és az Azure Service Bus.

Azure Event Grid

Az Azure Event Grid egy nagymértékben skálázható, teljes mértékben felügyelt Pub sub üzenetterjesztési szolgáltatás, amely rugalmas üzenethasználati mintákat kínál a Message Queueing Telemetry Transport (MQTT) és a HTTP protokollok használatával. Az Azure Event Grid használatával adatfolyamatokat hozhat létre eszközadatokkal, integrálhatja az alkalmazásokat, és eseményvezérelt kiszolgáló nélküli architektúrákat hozhat létre.

A szolgáltatás egy eseményalapú gerinchálózatot biztosít, amely lehetővé teszi az eseményvezérelt és reaktív programozást. A közzétételi-feliratkozási modellt használja. A közzétevők eseményeket bocsátanak ki, de nem várják el az események kezelésének módját. Az előfizetők eldöntik, hogy mely eseményeket szeretnék kezelni.

Az Event Grid mélyen integrálva van más Azure-szolgáltatásokkal, és integrálható külső szolgáltatásokkal. Egyszerűsíti az eseményfelhasználást és csökkenti a költségeket, mivel szükségtelenné teszi az állandó lekérdezést. Az Event Grid hatékonyan és megbízhatóan irányítja át az eseményeket az Azure-beli azon kívüli erőforrásokról. Az eseményeket elosztja a regisztrált előfizetői végpontok között. Az eseményüzenet tartalmazza azokat az információkat, amelyekre szüksége van, hogy reagálhasson a szolgáltatások és alkalmazások változásaira. Az Event Grid nem adatfolyamat, és nem kézbesíti magát a frissített objektumot.

A következő jellemzőkkel rendelkezik:

  • Dinamikusan méretezhető
  • Alacsony költség
  • Kiszolgáló nélküli
  • Esemény legalább egyszer történő kézbesítése

Az Event Grid két kiadásban érhető el: az Azure Event Grid, az Azure teljes körűen felügyelt PaaS szolgáltatása, valamint az Event Grid a Kubernetesen az Azure Arc használatával, amely lehetővé teszi az Event Grid használatát a Kubernetes-fürtön, bárhol is legyen az üzembe helyezve, a helyszínen vagy a felhőben. További információkért tekintse meg az Azure Event Grid áttekintését és a Kubernetesen futó Event Gridet az Azure Arc áttekintésével.

Azure-eseményközpontok

Az Azure Event Hubs egy big data streamelési platform és eseménybetöltési szolgáltatás. Másodpercenként több millió eseményt képes fogadni és feldolgozni. Megkönnyíti a telemetria- és az eseménystream-adatok rögzítését, megőrzését és visszajátszását. Az adatok számos párhuzamos forrásból származhatnak. Az Event Hubs lehetővé teszi a telemetriai és eseményadatok rendelkezésre bocsátását a különböző streamfeldolgozó infrastruktúrák és elemzési szolgáltatások számára. Adatfolyamként vagy csomagolt eseménykötegként érhető el. Ez a szolgáltatás egyetlen megoldást kínál, amely lehetővé teszi a gyors adatlekérést a valós idejű feldolgozáshoz és a tárolt nyers adatok ismételt lejátszásához. Képes a streamelési adatok fájlba való rögzítésére feldolgozás és elemzés céljából.

A következő jellemzőkkel rendelkezik:

  • Közel valós idejű adatelérés
  • Másodpercenként több millió esemény fogadása és feldolgozása
  • Esemény legalább egyszer történő kézbesítése

További információkért tekintse meg az Event Hubs áttekintését.

Azure Service Bus

A Service Bus egy teljes körűen felügyelt vállalati üzenetközvetítő üzenetsorokkal és közzétételi feliratkozási témakörökkel. A szolgáltatás olyan vállalati alkalmazásokhoz készült, amelyek tranzakciót, megrendelést, duplikált észlelést és azonnali konzisztenciát igényelnek. A Service Bus lehetővé teszi, hogy a natív felhőalkalmazások megbízható állapotváltás-kezelést biztosítsanak az üzleti folyamatokhoz. Ha olyan nagy értékű üzeneteket kezel, amelyeket nem lehet elveszni vagy duplikálni, használja az Azure Service Bust. Ez a szolgáltatás emellett rendkívül biztonságos kommunikációt tesz lehetővé a hibrid felhőmegoldások között, és képes összekapcsolni a meglévő helyszíni rendszereket a felhőmegoldásokkal.

A Service Bus egy közvetítőalapú üzenettovábbítási rendszer. Megbízhatóan tárolja az üzeneteket egy közvetítőben (például várólistán), amíg a fogyasztó fél készen nem áll a fogadásukra. A következő jellemzőkkel rendelkezik:

  • Megbízható aszinkron üzenetkézbesítés (vállalati üzenetküldés szolgáltatásként), amely lekérdezést igényel. Ha Service Bust használ, és az üzenetsor lekérdezése nélkül kell üzeneteket fogadnia, a Service Bus által támogatott TCP-alapú protokollok használatával hosszú lekérdezési fogadási művelettel érheti el.
  • Speciális üzenetkezelési funkciók, például az első és az első lépés (FIFO), a kötegelés/munkamenetek, a tranzakciók, a levélváltás, az időbeli vezérlés, az útválasztás és a szűrés, valamint a duplikált észlelés
  • Legalább egy üzenet kézbesítése
  • Opcionálisan megrendelt üzenetek kézbesítése

További információt a Service Bus áttekintésében talál.

A szolgáltatások összehasonlítása

Az alábbi táblázat a három szolgáltatást hasonlítja össze: Event Grid, Event Hubs és Service Bus.

Szolgáltatás Cél Típus Mikor érdemes használni?
Event Grid Reaktív programozás Eseményterjesztés (különálló események) Állapotváltozásokra való reakció
Event Hubs Big data folyamat Eseménystreamelés (sorozat) Telemetria és elosztott adatok streamelése
Service Bus Nagy értékű vállalati üzenetkezelés Üzenet Rendelésfeldolgozás és pénzügyi tranzakciók

A szolgáltatások együttes használata

Bizonyos esetekben a szolgáltatásokat párhuzamosan is használhatja adott szerepkörök betöltésére. Egy e-kereskedelmi webhely például a Service Bus használatával feldolgozhatja a rendelést, az Event Hubs segítségével rögzítheti a hely telemetriáját, és az Event Grid segítségével válaszolhat az olyan eseményekre, mint egy termék kiszállítása.

Más esetekben összekapcsolhatja őket, hogy egy esemény- és adatfolyamatot alkossanak. Az Event Grid használatával válaszolhat a másik szolgáltatásokban található eseményekre. Ha például az Event Grid és az Event Hubs használatával szeretne adatokat migrálni az Azure Synapse Analyticsbe, tekintse meg a big data streamelése az Azure Synapse Analyticsbe című témakört. A következő képen az adatstreamelés munkafolyamata látható.

Ábra az Event Hubs, a Service Bus és az Event Grid összekapcsolásáról.

Tekintse meg az alábbi cikkeket: