Megosztás a következőn keresztül:


Az Azure Event Hubs funkciói és terminológiája

Az Azure Event Hubs egy méretezhető eseményfeldolgozó szolgáltatás, amely nagy mennyiségű eseményt és adatot tárol és dolgoz fel, alacsony késéssel és nagy megbízhatósággal. A szolgáltatás magas szintű áttekintéséért lásd : Mi az Event Hubs?.

Ez a cikk az áttekintési cikkben található információkra épül, és az Event Hubs összetevőiről és funkcióiról nyújt műszaki és megvalósítási részleteket.

Névtér

Az Event Hubs-névtér az eseményközpontok (vagy a Kafka parlance témakörei) felügyeleti tárolója. DNS-integrált hálózati végpontokat, valamint hozzáférés-vezérlési és hálózati integrációs felügyeleti funkciókat biztosít, például IP-szűrést, virtuális hálózati szolgáltatásvégpontot és privát kapcsolatot.

Event Hubs-névteret ábrázoló kép

Partíciók

Az Event Hubs egy vagy több partícióba rendezi az eseményközpontnak küldött eseménysorozatokat. Az újabb események érkezésekor a rendszer hozzáadja őket a sorozat végéhez.

Néhány partícióval rendelkező eseményközpontot ábrázoló kép.

A partíciók véglegesítési naplóként is felfoghatók. A partíciók az alábbi információkat tartalmazó eseményadatokat tartalmazzák:

  • Az esemény törzse
  • Az eseményt leíró felhasználó által definiált tulajdonságcsomag
  • Metaadatok, például a partíció eltolása, a streamsorozatban lévő száma
  • Szolgáltatásoldali időbélyeg, amelyen elfogadták

Az események régebbi és újabb sorozatát megjelenítő diagram.

A partíciók használatának előnyei

Az Event Hubs úgy lett kialakítva, hogy segítsen a nagy mennyiségű esemény feldolgozásában, és a particionálás kétféleképpen segít:

  • Annak ellenére, hogy az Event Hubs egy PaaS-szolgáltatás, egy fizikai valóság van alatta. Az események sorrendjét megőrző naplók fenntartásához az alapul szolgáló tárolóban és a replikákban kell tartani ezeket az eseményeket, és ez egy ilyen napló átviteli sebességének felső határát eredményezi. A particionálás lehetővé teszi, hogy több párhuzamos naplót használjon ugyanarra az eseményközpontra, és így megszorozza a rendelkezésre álló nyers bemeneti-kimeneti (IO-) átviteli kapacitást.
  • A saját alkalmazásainak lépést kell tartaniuk az eseményközpontba küldött események mennyiségének feldolgozásával. Összetett lehet, és jelentős, vertikálisan felskálázott, párhuzamos feldolgozási kapacitást igényel. Az események kezelésére egyetlen folyamat kapacitása korlátozott, ezért több folyamatra van szükség. A partíciók a megoldás által táplálják ezeket a folyamatokat, és mégis biztosítják, hogy minden esemény egyértelmű feldolgozási tulajdonossal rendelkezik.

Partíciók száma

A partíciók száma az eseményközpont létrehozásakor van megadva. Az egyes tarifacsomagokhoz engedélyezett partíciók számának egy és a maximális partíciószám közöttinek kell lennie. Az egyes szintek partíciószámkorlátját ebben a cikkben találja.

Javasoljuk, hogy legalább annyi partíciót válasszon, amennyit az adott eseményközpont alkalmazásának maximális terhelése során szükséges. A prémium és dedikált szinteken kívüli szintek esetében nem módosíthatja az eseményközpontok partíciószámát a létrehozás után. Egy prémium vagy dedikált szinten lévő eseményközpont esetében növelheti a partíciók számát a létrehozása után, de nem csökkentheti őket. A streamek partíciók közötti eloszlása akkor változik, amikor a partíciókulcsok partíciókra való leképezése módosul, ezért érdemes megpróbálni elkerülni az ilyen módosításokat, ha az események relatív sorrendje számít az alkalmazásban.

A partíciók maximális megengedett értékre állítása csábító, de mindig vegye figyelembe, hogy az eseménystreameket úgy kell strukturálni, hogy valóban kihasználhassa a több partíció előnyeit. Ha az összes esemény abszolút sorrendjének megőrzésére vagy csak néhány alstreamre van szüksége, előfordulhat, hogy nem tudja kihasználni a számos partíció előnyeit. Emellett számos partíció teszi összetettebbé a feldolgozási oldalt.

A díjszabás szempontjából nem számít, hogy hány partíció található egy eseményközpontban. Ez függ a tarifacsomagok (átviteli egységek (TU-k) számától a standard szinthez, a prémium szintű feldolgozási egységektől (PU-k ) és a dedikált szint kapacitásegységeitől (CU-k) a névtérhez vagy a dedikált fürthöz. A standard szint eseményközpontja például 32 partícióval vagy egy partícióval pontosan ugyanazzal a költséggel jár, ha a névtér egy TU-kapacitásra van beállítva. Emellett a dedikált fürt névterén vagy termékváltozatán a partíciószámtól függetlenül skálázhatja a TU-kat vagy APU-kat.

Mivel a partíció egy adatszervezési mechanizmus, amely lehetővé teszi az adatok párhuzamos közzétételét és használatát. Javasoljuk, hogy a méretezési egységeket (a standard szint átviteli sebességegységeit, a prémium szintű feldolgozási egységeket vagy a dedikált szint kapacitásegységeit) és a partíciókat az optimális skálázás érdekében egyensúlyozza ki. Általában partíciónként 1 MB/s maximális átviteli sebességet javasoljuk. Ezért a partíciók számának kiszámítására szolgáló hüvelykujjszabály a maximális várható átviteli sebesség 1 MB/s-tal való felosztása. Ha például a használati esethez 20 MB/s szükséges, javasoljuk, hogy legalább 20 partíciót válasszon az optimális átviteli sebesség eléréséhez.

Ha azonban olyan modellel rendelkezik, amelyben az alkalmazás affinitást mutat egy adott partícióhoz, a partíciók számának növelése nem előnyös. További információ: rendelkezésre állás és konzisztencia.

Események leképezése partíciókra

A partíciókulccsal a beérkező eseményadatok képezhetők le adott partíciókra az adatok elrendezése céljából. A partíciókulcs az eseményközpontnak átadott, a küldő által megadott érték. A folyamat egy statikus kivonatoló függvényen keresztül történik, amely létrehozza a partíció-hozzárendelést. Ha nem ad meg partíciókulcsot az események közzétételekor, a rendszer ciklikus időszeleteléses hozzárendelést használ.

Az esemény-közzétevő csak a partíciókulcsot ismeri, azt a partíciót nem, amelyre az esemény közzé lesz téve. A kulcs és a partíció szétválasztása révén a küldőnek nem szükséges behatóan ismernie az alárendelt feldolgozási folyamatokat. Az eszközszintű vagy egyedi felhasználói identitás remek partíciókulcs lehet, de más tulajdonságok, például a földrajzi hely alapján szintén lehetséges az események csoportosítása egyetlen partícióra.

A partíciókulcs megadása lehetővé teszi, hogy a kapcsolódó események ugyanabban a partícióban és a pontos sorrendben legyenek tárolva, amelyben megérkeztek. A partíciókulcs egy olyan sztring, amely az alkalmazáskörnyezetből származik, és azonosítja az események közötti összefüggéseket. A partíciókulcs által azonosított események sorozata stream. A partíciók számos ilyen streamhez több multiplexált naplótárolók.

Feljegyzés

Bár közvetlenül a partíciókra küldhet eseményeket, nem javasoljuk, különösen akkor, ha a magas rendelkezésre állás fontos Önnek. Az eseményközpontok rendelkezésre állását partíciószintre szűkíti. További információ: Rendelkezésre állás és konzisztencia.

Esemény-közzétevők

Minden entitás, amely adatokat küld egy eseményközpontnak, egy esemény közzétevője (szinonimája az eseménykészítővel). Az esemény közzétevői HTTPS vagy AMQP 1.0 vagy a Kafka protokoll használatával tehetnek közzé eseményeket. Az esemény közzétevői Microsoft Entra ID-alapú hitelesítést használnak OAuth2 által kibocsátott JWT-jogkivonatokkal vagy egy Event Hub-specifikus közös hozzáférésű jogosultságkód (SAS) jogkivonattal a közzétételi hozzáférés megszerzéséhez.

Az eseményt az AMQP 1.0, a Kafka protokoll vagy a HTTPS használatával teheti közzé. Az Event Hubs szolgáltatás REST API- és .NET-, Java-, Python-, JavaScript- és Go-ügyfélkódtárakat biztosít az események eseményközpontban való közzétételéhez. Egyéb futtatókörnyezetek és platformok esetén használhatja bármelyik AMQP 1.0-ügyfelet, ilyen például az Apache Qpid.

Az AMQP vagy HTTPS használata a használati forgatókönyvtől függ. Az AMQP használatához ki kell alakítani egy állandó kétirányú szoftvercsatornát az TLS vagy SSL/TLS mellett. Az AMQP magasabb hálózati költségekkel jár a munkamenet inicializálásakor, a HTTPS azonban minden kéréshez további TLS-többletterhelést igényel. Az AMQP nagyobb teljesítményt nyújt a gyakori közzétevők számára, és sokkal alacsonyabb késéseket érhet el az aszinkron közzétételi kóddal való használat esetén.

Az eseményeket egyenként vagy kötegelve is közzéteheti. Egyetlen kiadvány korlátja 1 MB, függetlenül attól, hogy egyetlen eseményről vagy kötegről van-e szó. Az ennél a küszöbértéknél nagyobb közzétételi eseményeket a rendszer elutasítja.

Az Event Hubs átviteli sebessége partíciók és átviteliegység-foglalások használatával skálázható. Ajánlott, hogy a közzétevők ne maradjanak tisztában az eseményközponthoz választott particionálási modellel, és csak olyan partíciókulcsot adjanak meg, amellyel következetesen hozzárendelhetők a kapcsolódó események ugyanahhoz a partícióhoz.

Az eseményközpont partícióira leképezett partíciókulcsokat bemutató ábra.

Az Event Hubs biztosítja, hogy a partíciókulcs-értékkel rendelkező összes esemény együtt legyen tárolva, és érkezési sorrendben legyen kézbesítve. Ha a partíciókulcsok használata közzétevői házirendekkel együtt történik, a közzétevő identitásának és a partíciókulcs értékének egyeznie kell. Különben hiba történik.

Eseménymegőrzés

A közzétett események egy konfigurálható, időzíthető adatmegőrzési szabályzat alapján törlődnek az eseményközpontból. Íme néhány fontos pont:

  • Az alapértelmezett érték és a lehető legrövidebb megőrzési idő 1 óra.
  • Az Event Hubs Standard esetében a maximális megőrzési idő 7 nap.
  • Az Event Hubs Premium és a Dedikált esetén a maximális megőrzési idő 90 nap.
  • Ha módosítja a megőrzési időtartamot, az az összes eseményre vonatkozik, beleértve az eseményközpontban már szereplő eseményeket is.

Az Event Hubs az összes partícióra érvényes konfigurált megőrzési időhöz megtartja az eseményeket. A rendszer automatikusan eltávolítja az eseményeket a megőrzési időszak elérésekor. Ha egy nap (24 óra) megőrzési időtartamot adott meg, az esemény pontosan 24 órával az elfogadása után válik elérhetetlenné. Az események nem törölhetők explicit módon.

Ha az engedélyezett megőrzési időtartamon túl is archiválnia kell az eseményeket, az Event Hubs Capture funkció bekapcsolásával automatikusan tárolhatja őket az Azure Storage-ban vagy az Azure Data Lake-ben. Ha ilyen mély archívumokat kell keresnie vagy elemeznie, egyszerűen importálhatja őket az Azure Synapse-ba vagy más hasonló áruházakba és elemzési platformokra.

Az Event Hubs időalapú adatmegőrzési korlátjának oka, hogy megakadályozza, hogy nagy mennyiségű előzmény ügyféladat csapdába eshessen egy olyan mély tárban, amelyet csak időbélyeg indexel, és csak szekvenciális hozzáférést tesz lehetővé. Az architektúrafilozófia szerint a korábbi adatok gazdagabb indexelést és közvetlenebb hozzáférést igényelnek, mint az Event Hubs vagy a Kafka által biztosított valós idejű esemény-kezelő felület. Az eseménystreamelési motorok nem alkalmasak a data lake-ek vagy a hosszú távú archívumok szerepére az esemény-beszerzéshez.

Feljegyzés

Az Event Hubs egy valós idejű eseménystream-motor, amely nem adatbázis helyett és/vagy végtelenül tárolt eseménystreamek állandó tárolójaként használható.

Minél mélyebb az eseménystreamek előzményei, annál több kiegészítő indexre lesz szüksége egy adott stream adott előzményszeletének megtalálásához. Az esemény hasznos adatainak és indexelésének vizsgálata nem tartozik az Event Hubs (vagy az Apache Kafka) szolgáltatás hatókörébe. Az adatbázisok és a specializált elemzési tárolók és motorok, például az Azure Data Lake Store, az Azure Data Lake Analytics és az Azure Synapse ezért sokkal jobban alkalmasak a történelmi események tárolására.

Az Event Hubs Capture közvetlenül integrálható az Azure Blob Storage-ba és az Azure Data Lake Storage-ba, és ezen integráció révén lehetővé teszi az események közvetlenül az Azure Synapse-ba való átvitelét is.

Közzétevői házirend

Az Event Hubs lehetővé teszi az esemény-közzétevők részletes szabályozását a közzétevői házirendek révén. A közzétevői házirendek olyan futásidejű szolgáltatások, amelyek célja, hogy nagy számú független esemény-közzétevőt tegyen lehetővé. A közzétevői házirendek használatával mindegyik közzétevő a saját egyedi azonosítóját használja, amikor eseményeket tesz közzé egy eseményközpontban az alábbi mechanizmust használva:

//<my namespace>.servicebus.windows.net/<event hub name>/publishers/<my publisher name>

Nem kell előre létrehoznia a közzétevők neveit, azoknak azonban egyezniük kell az esemény közzétételekor használt SAS-tokennel a független közzétevő-azonosságok biztosítása érdekében. Közzétevői szabályzatok használatakor a PartitionKey értéket a közzétevő nevére kell állítani. A megfelelő működéshez ezeknek az értékeknek egyezniük kell.

Rögzítés

Az Event Hubs Capture lehetővé teszi a streamelési adatok automatikus rögzítését az Event Hubsban, és mentheti azokat egy Blob Storage-fiókba vagy egy Azure Data Lake Storage-fiókba. Engedélyezheti a rögzítést az Azure Portalon, és megadhat egy minimális méretet és időkeretet a rögzítés végrehajtásához. Az Event Hubs Capture használatával saját Azure Blob Storage-fiókot és -tárolót vagy Azure Data Lake Storage-fiókot ad meg, amely a rögzített adatok tárolására szolgál. A rögzített adatok Apache Avro formátumban íródnak.

Az Event Hubs-adatok Azure Storage-ba vagy Azure Data Lake Storage-ba történő rögzítését bemutató ábra.

Az Event Hubs Capture által létrehozott fájlok a következő Avro-sémával rendelkeznek:

A rögzített Avro-adatok szerkezetét bemutató ábra.

Feljegyzés

Ha nem használ kódszerkesztőt az Azure Portalon, akkor parquet formátumban rögzítheti a streamelési adatokat az Event Hubsban egy Azure Data Lake Storage Gen2-fiókban. További információ : Az Event Hubs adatainak rögzítése Parquet formátumban és oktatóanyag: Event Hubs-adatok rögzítése Parquet formátumban és elemzés az Azure Synapse Analytics használatával.

SAS-tokenek

Az Event Hubs olyan közös hozzáférésű jogosultságkódokat használ, amelyek a névtér és az eseményközpont szintjén érhetők el. A SAS-tokent egy SAS-kulcsból hozza létre a rendszer, és egy URL SHA-kivonata egy meghatározott formátumban kódolva. Az Event Hubs a kulcs (szabályzat) és a jogkivonat nevével újragenerálhatja a kivonatot, és így hitelesítheti a feladót. Az esemény-közzétevők SAS-tokenje általában egy adott eseményközpontban, csak küldési jogosultságokkal hozható létre. Ez a SAS-tokenes URL-mechanizmus az alapja a közzétevők a közzétevői házirendben bevezetett azonosításának. További információ a SAS használatával kapcsolatban: Shared Access Signature Authentication with Service Bus (Közös hozzáférésű jogosultságkóddal való hitelesítés a Service Bus használatával).

Eseményfelhasználók

Minden entitás, amely eseményadatokat olvas egy eseményközpontból, eseményfelhasználó. A fogyasztók vagy fogadók AMQP vagy Apache Kafka használatával fogadják az eseményeket egy eseményközpontból. Az Event Hubs csak a lekéréses modellt támogatja a felhasználók számára az események fogadásához. Még akkor is, ha eseménykezelőkkel kezeli az eseményeket egy eseményközpontból, az eseményfeldolgozó belsőleg a lekéréses modellt használja az események fogadásához az eseményközpontból.

Fogyasztói csoportok

Az Event Hubs közzétételi/feliratkozási mechanizmusa felhasználói csoportokon keresztül engedélyezhető. A fogyasztói csoportok olyan logikai csoportok, amelyek egy eseményközpontból vagy Kafka-témakörből olvasnak be adatokat. Lehetővé teszi, hogy több fogyasztó alkalmazás egymástól függetlenül olvassa be ugyanazokat a streamelési adatokat egy eseményközpontban a saját tempójukban az eltolásukkal. Lehetővé teszi az üzenetek felhasználásának párhuzamosítását és a számítási feladat több felhasználó közötti elosztását, miközben fenntartja az üzenetek sorrendjét az egyes partíciókon belül.

Azt javasoljuk, hogy egy fogyasztói csoporton belül csak egy aktív fogadó található egy partíción . Bizonyos esetekben azonban partíciónként legfeljebb öt fogyasztót vagy fogadót használhat, ahol az összes fogadó megkapja a partíció összes eseményét. Ha több olvasója van ugyanazon a partíción, akkor ismétlődő eseményeket dolgoz fel. Ezt a kódot kell kezelnie, ami nem triviális. Bizonyos helyzetekben azonban ez egy érvényes megközelítés.

A streamfeldolgozási architektúrákban mindegyik alárendelt alkalmazás megfelel egy felhasználói csoportnak. Amennyiben eseményadatokat kíván írni egy hosszú távú tárhelyre, az adott tárhelyírási alkalmazás is egy felhasználói csoport. Az összetett eseményfeldolgozást már egy másik, külön felhasználói csoport végzi. A partíciókat csak a felhasználói csoportokon keresztül érheti el. Egy eseményközpontban mindig van alapértelmezett fogyasztói csoport, és a megfelelő tarifacsomaghoz legfeljebb a maximális számú fogyasztói csoportot hozhatja létre.

Az Azure SDK-k által kínált egyes ügyfelek intelligens fogyasztói ügynökök, amelyek automatikusan kezelik annak részleteit, hogy minden partíció egyetlen olvasóval rendelkezik, és hogy az eseményközpont összes partíciója beolvasva legyen. Lehetővé teszi, hogy a kód az eseményközpontból beolvasott események feldolgozására összpontosítson, így figyelmen kívül hagyhatja a partíciók számos részletét. További információ: Csatlakozás partícióhoz.

Az alábbi példák a fogyasztói csoport URI-konvencióját mutatják be:

//<my namespace>.servicebus.windows.net/<event hub name>/<Consumer Group #1>
//<my namespace>.servicebus.windows.net/<event hub name>/<Consumer Group #2>

A következő ábrán az Event Hubs streamfeldolgozási architektúrája látható:

Az Event Hubs streamfeldolgozási architektúráját bemutató ábra.

Streameltolások

Az eltolás egy esemény pozíciója a partíción belül. Az eltolásokat tekintheti ügyféloldali kurzorként. Az eltolás az esemény bájtalapú sorszáma. Ez az eltolás lehetővé teszi az eseményfelhasználó (olvasó) számára az eseménystream egy olyan pontjának megadását, ahol az események olvasását el szeretné kezdeni. Az eltolás megadható időbélyegzőként vagy eltolásértékként. A felhasználók felelőssége saját eltolásértékeik tárolása az Event Hubs szolgáltatáson kívül. A partíciókon belül mindegyik esemény rendelkezik eltolással.

Eltolással rendelkező partíciót ábrázoló diagram.

Ellenőrző pontok használata

Az ellenőrzőpontok használatával az olvasók megjelölhetik vagy véglegesíthetik pozíciójukat a partíciók eseménysorozatában. Az ellenőrzőpontok használata a felhasználó felelőssége, és partíciónkénti alapon történik a felhasználói csoportban. A felelősség itt azt jelenti, hogy mindegyik felhasználói csoport esetében mindegyik partícióolvasónak nyilván kell tartania aktuális pozícióját az eseménystreamben, és tájékoztathatja a szolgáltatást, amikor az adatstreamet befejezettnek tekinti.

Ha egy olvasó lecsatlakozik egy partícióról, az újracsatlakozáskor az adott felhasználói csoportban az adott partíció utolsó olvasója által elküldött ellenőrzőpontnál kezdi az olvasást. Amikor az olvasó csatlakozik, átadja az eltolást az eseményközpontnak, és megadja, hogy hol kezdjen olvasást. Az ellenőrzőpontok használatával az alárendelt alkalmazások így megjelölhetik az eseményeket „befejezettként”, valamint biztosítható a rugalmasság a különböző gépeken futó olvasók közötti feladatátvétel esetén. Az ellenőrzőpontozási folyamat alacsonyabb eltolásának megadásával visszatérhet a régebbi adatokhoz. Ezzel a mechanizmussal az ellenőrzőpontok használata rugalmasságot biztosít feladatátvétel esetén, és lehetővé teszi az eseménystream visszajátszását.

Fontos

Az eltolásokat az Event Hubs szolgáltatás biztosítja. Az események feldolgozásakor a fogyasztó felelőssége ellenőrizni a pontokat.

Kövesse az alábbi javaslatokat az Azure Blob Storage ellenőrzőpont-tárolóként való használatakor:

  • Minden fogyasztói csoporthoz használjon külön tárolót. Használhatja ugyanazt a tárfiókot, de csoportonként egy tárolót.
  • Ne használja a tárolót semmi máshoz, és ne használja a tárfiókot semmi máshoz.
  • A tárfióknak ugyanabban a régióban kell lennie, amelyben az üzembe helyezett alkalmazás található. Ha az alkalmazás helyszíni, próbálja meg kiválasztani a lehető legközelebbi régiót.

Az Azure Portal Tárfiók lapján, a Blob szolgáltatás szakaszában győződjön meg arról, hogy a következő beállítások le vannak tiltva.

  • Hierarchikus névtér
  • Blob áltörlése
  • Verziókezelés

Napló tömörítése

Az Azure Event Hubs támogatja az eseménynapló tömörítését egy adott eseménykulcs legújabb eseményeinek megőrzése érdekében. A tömörített eseményközpontokkal/Kafka-témakörrel a durvább időalapú megőrzés helyett kulcsalapú megőrzést használhat.

További információ a naplótömörülésről: Log compaction.

Általános felhasználói feladatok

Minden Event Hubs-felhasználó egy AMQP 1.0-munkameneten, egy állapotérzékeny kétirányú kommunikációs csatornán keresztül csatlakozik. Mindegyik partíció rendelkezik AMQP 1.0-munkamenettel, ami megkönnyíti a partíció szerint elkülönített események átvitelét.

Csatlakozás partícióhoz

Partíciókhoz való csatlakozáskor gyakori gyakorlat egy bérleti mechanizmus használata az olvasói kapcsolatok adott partíciókhoz való koordinálásához. Így lehetséges, hogy egy fogyasztói csoport minden partíciója csak egy aktív olvasóval rendelkezik. Az ellenőrzőpontok, a bérbeadás és az olvasók kezelése egyszerűbbé teszi az Event Hubs SDK-k ügyfeleinek használatát, amelyek intelligens fogyasztói ügynökökként működnek. Ezek a következők:

Események olvasása

Miután egy AMQP 1.0-munkamenet és -hivatkozás meg lett nyitva egy adott partícióra vonatkozóan, az Event Hubs szolgáltatás kézbesíti az eseményeket az AMQP 1.0-ügyfél számára. Ez a kézbesítési mechanizmus nagyobb átviteli teljesítményt és kisebb késést biztosít a lekérésalapú mechanizmusoknál, amilyen például a HTTP GET. Az eseményeknek az ügyfél számára való elküldésekor minden eseményadat-példány fontos metaadatokat tartalmaz, például az eltolást és sorszámot, amelyek az eseménysorozat ellenőrzőpontokkal való jelölése során használhatók.

Eseményadatok:

  • Eltérés
  • Sorozat száma
  • Törzs
  • Felhasználói tulajdonságok
  • Rendszertulajdonságok

Az ön felelőssége, hogy kezelje az eltolást.

Alkalmazáscsoportok

Az alkalmazáscsoportok olyan ügyfélalkalmazások gyűjteményei, amelyek egy Event Hubs-névtérhez csatlakoznak, és egy egyedi azonosító feltételt osztanak meg, például a biztonsági környezetet – megosztott hozzáférési szabályzatot vagy Microsoft Entra-alkalmazásazonosítót.

Az Azure Event Hubs lehetővé teszi erőforrás-hozzáférési szabályzatok definiálását, például egy adott alkalmazáscsoport házirendjeinek szabályozását, valamint az ügyfélalkalmazások és az Event Hubs közötti eseménystreamelést (közzétételt vagy felhasználást).

További információ: Erőforrás-szabályozás alkalmazáscsoportokkal rendelkező ügyfélalkalmazásokhoz.

Apache Kafka-támogatás

Az Apache Kafka-ügyfelek (=1.0-s verziók>) protokolltámogatása olyan végpontokat biztosít, amelyek lehetővé teszik a meglévő Kafka-alkalmazások számára az Event Hubs használatát. A legtöbb meglévő Kafka-alkalmazás újrakonfigurálható úgy, hogy a Kafka-fürt rendszerindító kiszolgálója helyett egy s névtérre mutasson.

A költségek, az üzemeltetési munka és a megbízhatóság szempontjából az Azure Event Hubs nagyszerű alternatívája saját Kafka- és Zookeeper-fürtök üzembe helyezésének és üzemeltetésének, valamint az Azure-ban nem natív Kafka-szolgáltatásajánlatoknak.

Az Apache Kafka-közvetítővel azonos alapvető funkciók mellett olyan Azure Event Hubs-funkciókhoz is hozzáférhet, mint az automatikus kötegelés és archiválás az Event Hubs Capture használatával, az automatikus skálázás és kiegyensúlyozás, a vészhelyreállítás, a költségsemleges rendelkezésreállási zóna támogatása, a rugalmas és biztonságos hálózati integráció, valamint a többprotokollos támogatás, beleértve a tűzfalbarát AMQP-over-WebSockets protokollt is.

Protokollok

A gyártók vagy a feladók az Advanced Messaging Queuing Protocol (AMQP), a Kafka vagy a HTTPS protokoll használatával küldhetnek eseményeket egy eseményközpontba.

A fogyasztók vagy fogadók AMQP-t vagy Kafkát használnak az események fogadásához egy eseményközpontból. Az Event Hubs csak a lekéréses modellt támogatja a felhasználók számára az események fogadásához. Még akkor is, ha eseménykezelőkkel kezeli az eseményeket egy eseményközpontból, az eseményfeldolgozó belsőleg a lekéréses modellt használja az események fogadásához az eseményközpontból.

AMQP

Az AMQP 1.0 protokoll használatával eseményeket küldhet és fogadhat az Azure Event Hubsból. Az AMQP megbízható, teljesíthető és biztonságos kommunikációt biztosít az események küldéséhez és fogadásához. Nagy teljesítményű és valós idejű streameléshez használhatja, és a legtöbb Azure Event Hubs SDK támogatja.

HTTPS/REST API

Eseményeket csak HTTP POST-kérésekkel küldhet az Event Hubsnak. Az Event Hubs nem támogatja az események fogadását HTTPS-en keresztül. Olyan egyszerűsített ügyfelekhez használható, ahol a közvetlen TCP-kapcsolat nem valósítható meg.

Apache Kafka

Az Azure Event Hubs beépített Kafka-végpontja támogatja a Kafka-gyártókat és -fogyasztókat. A Kafka protokollt (1.0-s vagy újabb verzió) használó alkalmazások kódmódosítás nélkül küldhetnek és fogadhatnak eseményeket az Event Hubsból.

Az Azure SDK-k elvonják a mögöttes kommunikációs protokollokat, és egyszerűbb módot biztosítanak események küldésére és fogadására az Event Hubsból olyan nyelvek használatával, mint a C#, a Java, a Python, a JavaScript stb.

Következő lépések

Ha további információkat szeretne az Event Hubsról, tekintse meg az alábbi hivatkozásokat: