Általános
Mi az Az Azure Event Hubs-névtér?
A névtér eseményközpontok vagy Kafka-témakörök hatókörkezelési tárolója. Egyedi FQDN-t (teljes tartománynevet) ad. A névtér alkalmazástárolóként szolgál, amely több eseményközpontot vagy Kafka-témakört is tartalmazhat.
Lehetséges a tarifacsomag módosítása az üzembe helyezés után?
Nr. Az üzembe helyezés után nem lehet (például) a standard szintről a prémium szintre váltani új erőforrás üzembe helyezése nélkül.
Mikor hozhatok létre új névteret, és mikor használok meglévő névteret?
A kapacitásfoglalások átviteli sebességegységei (TU-k) vagy feldolgozási egységek (PU-k) számlázása a névtér szintjén történik. A névtér egy régióhoz is társítva van.
Az alábbi forgatókönyvek egyikében érdemes lehet létrehozni egy új névteret ahelyett, hogy meglévőt használna:
- Új régióhoz társított eseményközpontra van szüksége.
- Egy másik előfizetéshez társított eseményközpontra van szüksége.
- Önnek egy olyan eseményközpontra van szüksége, amely külön kapacitáskiosztással rendelkezik (vagyis a névtér kapacitásigénye, az új eseményközpont hozzáadásával, meghaladná a 40 TU küszöbértéket, és nem szeretné a dedikált klasztert választani).
Mi a különbség az Event Hubs alapszintű és standard szintjei között?
Az Azure Event Hubs standard szintje az alapszinten elérhetőnél magasabb funkciókat biztosít. A Standard a következő funkciókat tartalmazza:
- Hosszabb eseménymegőrzés
- További közvetített kapcsolatok, a megadott számnál nagyobb mértékű túlhasználati díjjal
- Több mint egy fogyasztói csoport
- Rögzítés
- Kafka-integráció
További információ a tarifacsomagokról, beleértve a dedikált Event Hubsot is, tekintse meg az Event Hubs díjszabási adatait.
Hol érhető el az Azure Event Hubs?
Az Azure Event Hubs minden támogatott Azure-régióban elérhető. A lista megtekintéséhez látogasson el az Azure-régiók lapjára.
Használhatok egyetlen Advanced Message Queuing Protocol (AMQP) kapcsolatot több eseményközpontból való küldéshez és fogadáshoz?
Igen, mindaddig, amíg az összes eseményközpont ugyanabban a névtérben van.
Mi az események maximális megőrzési ideje?
Az Event Hubs standard szintje jelenleg hét napos maximális megőrzési időt támogat, míg a prémium és dedikált szint esetében ez a korlát 90 nap. Az eseményközpontok nem állandó adattárként szolgálnak. A 24 óránál hosszabb megőrzési időszakok olyan helyzetekre szolgálnak, amelyekben kényelmesen lejátszható egy eseményfolyam ugyanazon rendszerekbe. Például egy új gépi tanulási modell betanítása vagy ellenőrzése meglévő adatokon. Ha hét napnál hosszabb üzenetmegőrzésre van szüksége, az Event Hubs Capture eseményközponton való engedélyezésével az adatok az eseményközpontból az Ön által választott Storage-fiókba vagy Azure Data Lake Service-fiókba kerülnek. A Capture funkció engedélyezése díjat von maga után a megvásárolt átviteli egységek alapján.
A tárfiókban rögzített adatok megőrzési idejét konfigurálhatja. Az Azure Storage életciklus-felügyeleti funkciója széles körű, szabályalapú szabályzatot kínál általános célú v2- és Blob Storage-fiókokhoz. A szabályzat használatával átalakíthatja az adatokat a megfelelő hozzáférési szintekre, vagy az adatok az életciklusuk végén lejárnak. További információ: Az Azure Blob Storage életciklusának kezelése.
Hogyan monitorozhatom az eseményközpontjaimat?
Az Event Hubs részletes metrikákat bocsát ki, amelyek biztosítják az erőforrások állapotát az Azure Monitor számára. Emellett az Event Hubs szolgáltatás általános állapotát is felmérheti nemcsak a névtér szintjén, hanem az entitás szintjén is. Megtudhatja, hogy milyen monitorozási lehetőségeket kínál az Azure Event Hubs.
Hol tárolja az Azure Event Hubs az adatokat?
Az Azure Event Hubs standard, prémium és dedikált szintjei abban a régióban tárolják és dolgozzák fel a számára közzétett adatokat, amelyet az Event Hubs-névtér létrehozásakor kiválaszt. Alapértelmezés szerint az ügyféladatok ezen a régión belül maradnak. Ha geo-vészhelyreállítás van beállítva egy Azure Event Hubs-névtérhez, a rendszer átmásolja a metaadatokat a kiválasztott másodlagos régióba. Ezért ez a szolgáltatás automatikusan megfelel a régió adattárolási követelményeinek, beleértve az adatvédelmi központban megadottakat is.
Milyen protokollokkal küldhetek és fogadhatok eseményeket?
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.
Milyen portokat kell megnyitnom a tűzfalon?
Az Azure Event Hubsban az alábbi protokollok használatával küldhet és fogadhat eseményeket:
- Advanced Message Queuing Protocol 1.0 (AMQP)
- Hypertext Transfer Protocol 1.1 a szállítási réteg biztonság (HTTPS) használatával
- Apache Kafka
Tekintse meg az alábbi táblázatot azokról a kimenő portokról, amelyekre a protokollok használatához meg kell nyitnia az Azure Event Hubs szolgáltatással való kommunikációhoz.
| Protokoll | Portok | Részletek |
|---|---|---|
| AMQP | 5671 és 5672 | Lásd az AMQP protokoll útmutatót |
| HTTPS | 443 | Ez a port a HTTP/REST API-hoz és az AMQP-over-WebSocketekhez használható. |
| Kafka | 9093 | Lásd: Event Hubs használata Kafka-alkalmazásokból |
A HTTPS-portra akkor is szükség van a kimenő kommunikációhoz, ha az AMQP-t az 5671-es porton keresztül használják, mivel az ügyféloldali SDK-k által végrehajtott számos felügyeleti művelet és a Microsoft Entra-azonosítóból (használat esetén) származó tokenek beszerzése HTTPS-n fut.
A hivatalos Azure SDK-k általában az AMQP protokollt használják események Event Hubsból való küldéséhez és fogadásához. Az AMQP-over-WebSockets protokollbeállítás a HTTP API-hoz hasonlóan a TCP 443 porton fut, de egyébként funkcionálisan megegyezik az egyszerű AMQP-vel. Ez a beállítás nagyobb kezdeti kapcsolati késéssel rendelkezik, mivel extra kézfogást tesz lehetővé az utazások során, és valamivel nagyobb többletterhelést jelent a HTTPS-port megosztásához. Ha ez a mód van kiválasztva, a 443-as TCP-port elegendő a kommunikációhoz. Az alábbi beállítások lehetővé teszik az egyszerű AMQP vagy AMQP WebSockets mód kiválasztását:
| Nyelv | Lehetőség |
|---|---|
| .NET | EventHubConnectionOptions.TransportType tulajdonság az EventHubsTransportType.AmqpTcp vagy az EventHubsTransportType.AmqpWebSockets használatával |
| Java | com.microsoft.azure.eventhubs.EventProcessorClientBuilder.transporttype és AmqpTransportType.AMQP vagy AmqpTransportType.AMQP_WEB_SOCKETS |
| Node | A(z) EventHubConsumerClientOptions rendelkezik egy webSocketOptions tulajdonsággal. |
| Python | EventHubConsumerClient.transport_type TransportType.Amqp vagy TransportType.AmqpOverWebSocket használatával |
Milyen IP-címeket kell engedélyeznem?
Amikor az Azure-ral dolgozik, néha engedélyeznie kell bizonyos IP-címtartományokat vagy URL-címeket a vállalati tűzfalon vagy proxyn keresztül, hogy hozzáférjen az összes használt vagy használni kívánt Azure-szolgáltatáshoz. Ellenőrizze, hogy engedélyezett-e a forgalom az Event Hubs által használt IP-címeken. Az Azure Event Hubs által használt IP-címekért lásd : Azure IP-tartományok és szolgáltatáscímkék – Nyilvános felhő.
Ellenőrizze továbbá, hogy a névtér IP-címe engedélyezve van-e. Ha meg szeretné keresni a megfelelő IP-címeket a kapcsolatok engedélyezéséhez, kövesse az alábbi lépéseket:
Futtassa a következő parancsot egy parancssorból:
nslookup <YourNamespaceName>.servicebus.windows.netJegyezze fel a visszaadott
Non-authoritative answerIP-címet.
Ha egy régebbi fürtben üzemeltetett névteret használ (amely a Cloud Services - CNAME *.cloudapp.net végződésű) és a névtér zónaredundáns, néhány további lépést kell követni. Ha a névtér egy újabb fürtön található (a virtuálisgép-méretezési csoport – CNAME *.cloudapp.azure.com végződésű) és zónaredundáns, az alábbi lépéseket kihagyhatja.
Először futtassa az nslookup parancsot a névtéren.
nslookup <yournamespace>.servicebus.windows.netJegyezze fel a nem mérvadó válasz szakasz nevét, amely az alábbi formátumok egyikében található:
<name>-s1.cloudapp.net <name>-s2.cloudapp.net <name>-s3.cloudapp.netFuttassa az nslookup parancsot mindegyikhez s1, s2 és s3 utótaggal a három rendelkezésre állási zónában futó mindhárom példány IP-címének lekéréséhez,
Megjegyzés
A parancs által
nslookupvisszaadott IP-cím nem statikus IP-cím. Azonban mindaddig állandó marad, amíg az alapjául szolgáló telepítést nem törlik vagy áthelyezik egy másik klaszterbe.
Milyen ügyfél IP-címek küldenek eseményeket a névtérbe, vagy fogadnak eseményeket?
Először engedélyezze az IP-szűrést a névtéren.
Ezután engedélyezze a diagnosztikai naplókat az Event Hubs virtuális hálózati kapcsolati eseményeihez a diagnosztikai naplók engedélyezése című témakör utasításait követve. Megjelenik az IP-cím, amelyhez a kapcsolat megtagadva van.
{
"SubscriptionId": "0000000-0000-0000-0000-000000000000",
"NamespaceName": "namespace-name",
"IPAddress": "1.2.3.4",
"Action": "Deny Connection",
"Reason": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
"Count": "65",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
"Category": "EventHubVNetConnectionEvent"
}
Fontos
A virtuális hálózati naplók csak akkor jönnek létre, ha a névtér adott IP-címekről (IP-szűrési szabályokból) engedélyezi a hozzáférést. Ha nem szeretné korlátozni a névtérhez való hozzáférést ezekkel a funkciókkal, és továbbra is szeretné lekérni a virtuális hálózati naplókat az Event Hubs-névtérhez csatlakozó ügyfelek IP-címeinek nyomon követéséhez, használja a következő megkerülő megoldást: Engedélyezze az IP-szűrést, és adja hozzá a teljes címezhető IPv4-tartományt (0.0.0.0/1 - 128.0.0.0/1) és az IPv6-tartományt ().::/1 - 8000::/1
Megjegyzés
Jelenleg nem lehet meghatározni az egyes üzenetek vagy események forrás IP-címét.
Apache Kafka-integráció
Hogyan integrálni a meglévő Kafka-alkalmazásomat az Event Hubs szolgáltatással?
Az Event Hubs egy Olyan Kafka-végpontot biztosít, amelyet a meglévő Apache Kafka-alapú alkalmazások használhatnak. A PaaS Kafka-élmény használatához csak konfigurációmódosítás szükséges. Alternatívát kínál a saját Kafka-fürt futtatásához. Az Event Hubs támogatja az Apache Kafka 1.0-s és újabb ügyfélverzióit, és együttműködik a meglévő Kafka-alkalmazásokkal, eszközökkel és keretrendszerekkel. További információ: Event Hubs for Kafka-adattár.
Milyen konfigurációs módosításokat kell végrehajtani ahhoz, hogy a meglévő alkalmazásom kommunikáljon az Event Hubs-nel?
Az eseményközponthoz való csatlakozáshoz frissítenie kell a Kafka ügyfélkonfigurációit. Ez egy Event Hubs-névtér létrehozásával és a kapcsolati sztring lekérésével történik. Módosítsa a bootstrap.serverst úgy, hogy az Event Hubs teljes tartománynevét és a portot 9093-ra mutasson. Frissítse a sasl.jaas.config fájlt: irányítsa a Kafka klienst az Event Hubs végpontjára (ami a megszerzett kapcsolati karakterlánc) a helyes hitelesítés beállításával, ahogy az itt szerepel:
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
Példa:
bootstrap.servers=dummynamespace.servicebus.windows.net:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://dummynamespace.servicebus.windows.net/;SharedAccessKeyName=DummyAccessKeyName;SharedAccessKey=XXXXXXXXXXXXXXXXXXXXX";
Megjegyzés
Ha sasl.jaas.config nem támogatott konfiguráció a keretrendszerben, keresse meg az egyszerű hitelesítési és biztonsági réteg (SASL) felhasználónév és jelszó beállításához használt konfigurációkat, és használja őket helyette. Állítsa be a felhasználónevet a $ConnectionString változóra, és a jelszót az Event Hubs kapcsolati sztringre.
Mi az Event Hubs üzenet-/eseménymérete?
Az Event Hubs maximális üzenetmérete 1 MB.
Átviteli egységek
Mik az Event Hubs átviteli egységei? (Standard szint)
Az Event Hubs átviteli sebessége megabájtban vagy az Event Hubson keresztül bejövő és kimenő 1 KB-os események számát (ezredekben) határozza meg. Ezt az átviteli sebességet átviteli egységekben (TU-kban) mérik. Mielőtt elkezdené használni az Event Hubs szolgáltatást, vásárolja meg a szolgáltatásmennyiséget. Az Event Hubs-termékváltozatok kifejezetten kiválaszthatók portál- vagy Event Hubs Resource Manager-sablonokkal.
Az átviteli egységek a névtérben lévő összes eseményközpontra érvényesek?
Igen, az átviteli egységek (TU-k) az Event Hubs-névtérben lévő összes eseményközpontra érvényesek. Ez azt jelenti, hogy a névtér szintjén vásárol átviteli egységeket, melyek meg vannak osztva az adott névtér alatti eseményközpontok között. Minden tu a következő képességekre jogosítja fel a névteret:
- Legfeljebb 1 MB/s bejövő események (eseményközpontba küldött események), de másodpercenként legfeljebb 1000 bejövő esemény, felügyeleti művelet vagy vezérlő API-hívás.
- Legfeljebb 2 MB/másodperc kimenő események (eseményközpontból származó események), de legfeljebb 4096 kimenő esemény.
- Legfeljebb 84 GB eseménytároló (elegendő az alapértelmezett 1 órás megőrzési időszakhoz).
Hogyan történik az átviteli egységek számlázása?
Az átviteli egységek (TU-k) számlázása óránként történik. A számlázás az adott órában kiválasztott egységek maximális számán alapul.
Hogyan optimalizálhatom a használatot az átviteli egységeken?
Megkezdheti akár egyetlen átviteli egységgel (TU), és aktiválhatja az automatikus feltöltést. Az automatikus feltöltés funkció lehetővé teszi a TU-k növelését a forgalom/hasznos adatok növekedésével. A termékváltozatok számának felső korlátját is beállíthatja.
Hogyan működik az Event Hubs automatikus feltöltési funkciója?
Az autoinfláció funkció lehetővé teszi az átviteli egységek (TU-k) skálázását. Ez azt jelenti, hogy kezdetben kis mennyiségű TUs-t vásárolhat, majd az autoinflate funkció automatikusan felskálázza a TUs-t a bejövő forgalom növekedésével. Költséghatékony lehetőséget biztosít, és teljes mértékben szabályozhatja a kezelendő termékváltozatok számát. Ez a funkció kizárólag a felskálázást szolgálja, és a frissítés által teljes mértékben szabályozhatja a TU-k számának csökkentését.
Érdemes lehet alacsony átviteli sebességű egységekkel (TU-kkal) kezdeni, például 2 TU-val. Ha azt jelzi előre, hogy a forgalom 15 TU-ra nőhet, engedélyezze az automatikus felfújási funkciót a névtéren, és állítsa be a maximális korlátot 15 TU-ra. Mostantól a forgalom növekedésével automatikusan növelheti a termékváltozatokat.
Van-e költség, ha engedélyezem az automatikus felfújás funkciót?
Ez a funkció nem jár költségekkel .
Engedélyezhető a zónaredundancia egy meglévő Event Hubs-névtérhez?
Ez jelenleg nem lehetséges, mert a régi Event Hubs-névterek különböző fürtökben találhatók, és nem lehet migrálni őket az új fürtökre, amelyek automatikusan engedélyezik a zónaredundanciát új eseményközpont-névterek létrehozásakor.
Hogyan kényszerítik ki az átviteli sebesség korlátait?
Ha a névtér minden eseményközpontjában a bejövő forgalom teljes átviteli sebessége vagy a bejövő események teljes sebessége meghaladja az összesített átviteli egységek költségkeretét, a feladók szabályozva lesznek, és hibaüzenetet kapnak, amely azt jelzi, hogy túllépték a bejövő kvótát.
Ha egy névtér összes eseményközpontjában a teljes kimenő forgalom vagy az események teljes kimenő sebessége meghaladja az összesített átviteliegység-keretet, a fogadókat korlátozzák, de nem keletkeznek szabályozási hibák.
A bejövő és kimenő kvóták külön lesznek kényszerítve, így egyetlen feladó sem okozhatja az eseményfelhasználás lelassulását, és a fogadók sem akadályozhatják meg az események eseményközpontba való küldését.
Korlátozva van a fenntartott/kiválasztható átviteli egységek száma?
Ha alapszintű vagy standard szintű névteret hoz létre az Azure Portalon, legfeljebb 40 TU-t választhat ki a névtérhez. A 40 TU-n túl az Event Hubs olyan erőforrás-/kapacitásalapú modelleket is kínál, mint az Event Hubs Premium és az Event Hubs Dedikált fürtök. További információ: Event Hubs Premium – áttekintés és Dedikált Event Hubs – áttekintés.
Dedikált fürtök
Mi az a dedikált fürt?
A dedikált Event Hubs-fürtök egybérlős üzembe helyezéseket kínálnak a legnagyobb igényű ügyfelek számára. Ez az ajánlat olyan kapacitásalapú fürtöt hoz létre, amelyet nem kötnek össze átviteli egységek. Ez azt jelenti, hogy a fürt használatával betöltheti és streamelheti az adatokat a fürt processzor- és memóriahasználata által diktált módon. További információ, lásd: Dedikált Event Hubs-fürtök.
Hogyan lehet létrehozni egy dedikált Event Hubs-fürtöt?
A dedikált Event Hubs-fürtök beállításával kapcsolatos részletes útmutatásért és további információkért tekintse meg a következő rövid útmutatót: Dedikált Event Hubs-fürt létrehozása az Azure Portal használatával.
Mit érhetek el egy klaszterrel?
Az Event Hubs-fürtök esetében a betölthető és streamelhető mennyiség olyan tényezőktől függ, mint például az előállítók, a fogyasztók, valamint a betöltési és feldolgozási sebesség.
Az alábbi táblázat azokat a teljesítményteszt-eredményeket mutatja be, amelyeket egy régi, dedikált fürttel végzett tesztelés során értünk el.
| Hasznos adat alakzat | Vevőkészülékek | Bejövő sávszélesség | Bejövő üzenetek | Kimenő sávszélesség | Kimenő üzenetek | Összes TU | CU-nkénti termékváltozatok |
|---|---|---|---|---|---|---|---|
| 100x1KB kötegek | 2 | 400 MB/s | 400 ezer üzenet/mp | 800 MB/s | 800 ezer üzenet/mp | 400 TU | 100 FORDÍTÁSI EGYSÉG |
| 10x10 KB-os kötegek | 2 | 666 MB/s | 66,6k üzenet/mp | 1,33 GB/s | 133k üzenet/mp | 666 TU | 166 FORDÍTÁSI EGYSÉG |
| 6x32 KB-os kötegek | 1 | 1,05 GB/s | 34k üzenet/mp | 1,05 GB/s | 34k üzenet/mp | 1000 TU | 250 TUs |
A tesztelés során a következő kritériumokat használták:
- A rendszer egy Dedikált csomagú Event Hubs-fürtöt használt négy kapacitási egységgel (CUs).
- A betöltéshez használt eseményközpont 200 partícióval rendelkezett.
- A betöltött adatokat két fogadóalkalmazás fogadta az összes partícióról.
Fel- vagy leskálázhatom a fürtöt?
Ha a fürtöt a Támogatási skálázás beállításkészlettel hozza létre, az önkiszolgáló felülettel igény szerint horizontális felskálázást és méretezést végezhet. Önkiszolgálóan skálázható fürtök használatával akár 10 számítási egységre is növelheti. Az önkiszolgáló, skálázható dedikált fürtök új infrastruktúrán alapulnak, így jobban teljesítenek, mint azok a dedikált fürtök, amelyek nem támogatják az önkiszolgáló skálázást. A dedikált fürtök teljesítménye olyan tényezőktől függ, mint az erőforrás-kiosztás, a partíciók száma és a tárolás. Azt javasoljuk, hogy miután egy valós munkaterheléssel tesztelt, határozza meg a szükséges számítási egységek számát.
Küldjön támogatási kérést a dedikált klaszter horizontális felskálázásához vagy horizontális lecsökkentéséhez az alábbi esetekben:
- Egy önkiszolgáló, skálázható dedikált fürthöz (amelyet a Skálázhatóság támogatása opcióval hoztak létre) több mint 10 számítási egységre van szükség.
- Önnek befelé vagy kifelé kell skáláznia egy olyan fürtöt, amely a Támogatási skálázás lehetőség kiválasztása nélkül lett létrehozva.
- Az önkiszolgáló felület kiadása előtt létrehozott dedikált fürtön fel kell méreteznie vagy skáláznia kell.
Figyelmeztetés
A fürtöt a létrehozása után legalább négy órán át nem törölheti. A fürt legalább négy órányi használatának díjáért kell fizetnie. A díjszabással kapcsolatos további információkért lásd az Event Hubs díjszabását.
Migrálhatok egy régi fürtről egy önkiszolgálóan skálázható fürtre?
A mögöttes hardver- és szoftverinfrastruktúra különbsége miatt jelenleg nem támogatjuk az olyan fürtök áttelepítését, amelyek nem támogatják az önkiszolgáló skálázást az önkiszolgáló, skálázható dedikált fürtökre. Ha önkiszolgáló skálázást szeretne használni, újra kell hoznia a fürtöt létre. A skálázható fürt létrehozásának módjáról az Event Hubs dedikált fürtének létrehozása című hivatkozásban olvashat.
Mikor érdemes bővíteni a dedikált fürtöt?
A processzorhasználat a dedikált klaszter erőforrás-felhasználásának kulcsfontosságú mutatója. Ha a teljes CPU-használat eléri a 70%-ot (anélkül, hogy rendellenes feltételeket, például nagy számú kiszolgálóhibát vagy kevés sikeres kérést észlelne), az azt jelenti, hogy a fürt a maximális kapacitás felé halad. Ezeket az információkat mutatóként használhatja, hogy mérlegelje, fel kell-e skáláznia a dedikált fürtöt, vagy sem.
A dedikált fürt processzorhasználatának figyeléséhez kövesse a következő lépéseket:
A dedikált Event Hubs-fürt Metrikák oldalán válassza a Metrika hozzáadása lehetőséget.
Válassza ki a CPU-t metrikaként, és használja a Max függvényt összesítésként.
Válassza a Szűrő hozzáadása lehetőséget, és adjon hozzá egy szűrőt a Tulajdonságtípusszerepkörhöz. Használja az egyenlőség operátort, és válassza ki az összes értéket (háttér és átjáró) a legördülő listából.
Ezután figyelheti ezt a mutatót annak meghatározásához, hogy mikor szükséges skáláznia a dedikált fürtöt. Riasztásokat is beállíthat ezzel a metrikával kapcsolatban, hogy értesítést kapjon arról, ha a processzorhasználat eléri a beállított küszöbértékeket.
Hogyan működik a geo-katasztrófa-helyreállítás az én fürtemmel?
Egy dedikált szintű fürtben lévő névteret egy másik, szintén dedikált szintű fürtben lévő névtérrel geopárba helyezhet. Nem javasoljuk, hogy párosítson egy Dedikált szintű névteret egy másik névtérrel a Standard szintben, mert az átviteli sebességkorlát nem kompatibilis egymással, és hibákat okoz.
Migrálhatom a Standard vagy Prémium névtereimet dedikált szintű fürtbe?
Jelenleg nem támogatunk automatizált migrálási folyamatot az Event Hubs-adatok standard vagy prémium szintű névtérből dedikált névtérbe való migrálásához.
Miért van egy hagyományos zóna-rendudáns dedikált fürtnek legalább nyolc számítási egysége?
Ha zónaredundanciát szeretne biztosítani a dedikált ajánlathoz, minden számítási erőforrásnak három replikával kell rendelkeznie három adatközpontban ugyanabban a régióban. Ez a minimális követelmény támogatja a zónaredundanciát (hogy a szolgáltatás továbbra is működjön, ha két zóna vagy adatközpont leáll), és nyolc processzornak megfelelő számítási kapacitást eredményez.
Ezt a kvótát nem módosíthatjuk. Ez a dedikált szinttel rendelkező jelenlegi architektúra korlátozása.
Partíciók
Hány partícióra van szükségem?
A partíció egy adatszervezési mechanizmus, amely lehetővé teszi a párhuzamos közzétételt és felhasználást. Bár támogatja a párhuzamos feldolgozást és skálázást, a teljes kapacitást a névtér skálázási lefoglalása korlátozza. A méretezési egységek (a standard szint átviteli sebességegységei, a prémium szintű feldolgozási egységek vagy a dedikált szint kapacitásegységei) és a partíciók egyensúlya az optimális skálázás érdekében.
Kezdje a számítási feladatprofillal: átlagos hasznos adatméret, másodpercenkénti események és az átviteli sebesség csökkenése vagy a késési csúcsok érzékenysége. Használja az alábbi partíciónkénti átviteli sebességet kiindulási pontként, majd ellenőrizze a terhelési tesztekkel:
- Standard szint: ~1 MB/s bejövő forgalom és partíciónként ~2 MB/s kimenő forgalom.
- Prémium és dedikált szintek: ~1-2 MB/s bejövő forgalom és ~2-5 MB/s kimenő forgalom partíciónként.
Becsülje meg a partíciókat úgy, hogy elosztja a várt bejövő és kimenő forgalmat a megfelelő partíciónkénti sebességekkel, és figyelembe veszi a nagyobb eredményt. Ha a megfigyelt átviteli sebesség vagy késés nem felel meg az elvárásoknak, növelje a partíciókat (csak prémium és dedikált szintek esetén), és tesztelje újra.
A partíciók a fogyasztói párhuzamosság felső határát is beállítják. A plafon működése a fogyasztó típusától függ:
-
Korszak (kizárólagos) fogyasztók – A .NET és Java, valamint a Python és JavaScript által használt minta, amely az éles AMQP munkaterhelésekhez ajánlott. Egyszerre csak egy korszakbeli fogyasztó rendelkezhet egy adott partícióval egy fogyasztói csoportban. Ha több processzorpéldányt helyez üzembe, mint partíciókat, a további példányok nem lesznek hozzárendelve partíciókhoz, és tétlenül ülnek, amíg egy meglévő tulajdonos fel nem ad egyet. Ha egy új korszakbeli fogyasztó magasabb tulajdonosi szinttel csatlakozik, a szolgáltatás hiba miatt leválasztja az aktuális tulajdonost
ConsumerDisconnected, és az új fogyasztó átveszi a kapcsolatot. - Nem korszakos felhasználók – Legfeljebb 5 nem korszakos fogadó tudja egyszerre beolvasni ugyanazt a partíciót egy fogyasztói csoportban. Minden fogadó ugyanazokat az eseményeket látja (szétosztás), így ez a mód nem növeli a partíciónkénti feldolgozási sebességet. Ha egy korszakfelhasználót csatlakoztat egy partícióhoz, az leválasztja a partíción lévő összes nem korszakos felhasználót.
-
Kafka-felhasználók – A Kafka-felhasználók az AMQP-korszakok helyett a csoportkoordinációs protokollt (
group.id) használják, de a partíciótulajdonlási modell egyenértékű: az egyes partíciók egy fogyasztói csoporton belül pontosan egy fogyasztói taghoz vannak rendelve. Amikor egy új tag csatlakozik vagy egy meglévő tag távozik, a csoport újraegyensúlyozza és újraosztja a partíció-hozzárendeléseket. Ha a partícióknál több fogyasztói tag van, a felesleges tagok nem kapnak hozzárendeléseket, és tétlenek maradnak, amíg egy jövőbeli újraegyensúlyozás fel nem szabadít egy partíciót. Az átmeneti leválasztások okozta szükségtelen újraegyensúlyozás csökkentése érdekében állítson be fogyasztói példányonként egy egyedigroup.instance.id-t (statikus tagság).
A gyakorlatban a partíciók száma egyenlő a fogyasztói csoportonkénti párhuzamos fogyasztók maximális számával , függetlenül attól, hogy AMQP-felhasználókat vagy Kafka-fogyasztókat használ. Ezt vegye figyelembe a partíciók számában, amikor horizontális felskálázást tervez.
Ha 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.
Növelhetim a partíciók számát az Event Hubs standard szintjén?
Nem, ez nem lehetséges, mert a partíciók nem módosíthatók a Standard szinten. A partíciók dinamikus hozzáadása csak az Event Hubs prémium és dedikált szintjeiben érhető el.
Díjszabás
Hol találhatok további díjszabási információkat?
Az Event Hubs díjszabásával kapcsolatos teljes információkért tekintse meg az Event Hubs díjszabásának részleteit.
Van díj az Event Hubs-események 24 óránál hosszabb ideig történő megőrzéséért?
Az Event Hubs Standard szint legfeljebb hét napig teszi lehetővé az üzenetek 24 óránál hosszabb megőrzési idejét. Ha a tárolt események teljes számának mérete meghaladja a kiválasztott átviteli sebességegységek (84 GB/átviteli egység) tárolási keretét, a kibocsátási egységeket meghaladó méretet a közzétett Azure Blob Storage-díjszabás alapján számítjuk fel. Az egyes átviteli egységek tárolási kerete a 24 órás megőrzési időtartamok összes tárolási költségét fedezi, még akkor is, ha az átviteli egység a maximális bemeneti egységig van használatban.
Hogyan számítják ki és terhelik az Event Hubs-tárterület méretét?
Az összes tárolt esemény teljes méretét, beleértve az eseményfejlécek vagy az összes eseményközpont lemeztároló struktúráinak belső terhelését is, a nap folyamán mérik. A nap végén megállapítjuk az aznap foglalt tárméret maximumát. A napi tárkeretet az adott napra választott kapacitásegységek számából állapítjuk meg – ha egy adott nap folyamán többször több különböző értéket jelöltek ki, akkor a legkisebbet vesszük figyelembe. Egy kapacitásegység tárkerete 84 GB. Ha a teljes méret meghaladja a számított napi tárterületet, a felesleges tárterület számlázása az Azure Blob Storage díjszabásával történik (helyileg redundáns tárolási sebességgel).
Hogyan történik a bemeneti események kiszámítása?
Az eseményközpontba küldött minden esemény számlázható üzenetnek számít. A bemeneti esemény 64 KB-nál kisebb vagy egyenlő adategységként van definiálva. A 64 KB-nál kisebb vagy azzal egyenlő események egy számlázható eseménynek minősülnek. Ha az esemény nagyobb, mint 64 KB, a számlázható események száma az esemény méretétől függően, 64 KB többszörösében lesz kiszámítva. Az eseményközpontnak küldött 8 KB-os esemény számlázása például egy esemény, de az eseményközpontnak küldött 96 KB-os üzenet számlázása két eseményként történik.
Az Event Hub-ból származó események, valamint a felügyeleti és vezérlési műveletek, mint például az ellenőrzőpontok, nem számlázhatók bejövő eseményekként, hanem az átviteli egység kapacitásáig halmozódnak fel.
A közvetített csatlakozási díjak vonatkoznak az Event Hubsra?
A csatlakozási díjak csak az AMQP protokoll használatakor érvényesek. Az események HTTP-n keresztül történő küldése – a küldő rendszerek és eszközök számától függetlenül – díjmentes. Ha AMQP-t szeretne használni (például hatékonyabb eseménystreamelést szeretne elérni, vagy engedélyezni szeretné a kétirányú kommunikációt az IoT-parancs- és vezérlési forgatókönyvekben), az Event Hubs díjszabási információs oldalán tájékozódhat arról, hogy hány kapcsolat szerepel az egyes szolgáltatási szintekben.
Hogyan számlázzák az Event Hubs rögzítési szolgáltatását?
A rögzítés akkor engedélyezett, ha a névtér bármely eseményközpontjában engedélyezve van a Rögzítés beállítás. Az Event Hubs Capture számlázása havonta történik vásárolt átviteli egységenként. Mivel az átviteli egységek száma növekszik vagy csökken, az Event Hubs Capture számlázása ezeket a változásokat egész órás növekményekben tükrözi. Az Event Hubs Capture számlázásáról további információt az Event Hubs díjszabási információiban talál.
Kiszámláznak az Event Hubs Capturehez kiválasztott tárfiókért?
A Capture az ön által megadott tárfiókot használja, amikor egy eseményközpontban engedélyezve van. Mivel ez az Ön tárfiókja, a konfiguráció módosításait az Azure-előfizetésére kiszámlázzák.
Kvóták
Vannak az Event Hubshoz társított kvóták?
Az Event Hubs-kvóták listáját a kvóták között találja.
Hibaelhárítás
Miért nem tudok névteret létrehozni, miután töröltem egy másik előfizetésből?
Ha töröl egy névteret egy előfizetésből, várjon 4 órát, mielőtt ugyanazzal a névvel újra létrejönne egy másik előfizetésben. Ellenkező esetben a következő hibaüzenet jelenhet meg: Namespace already exists.
Melyek az Event Hubs által létrehozott kivételek és azok javasolt műveletei?
A lehetséges Event Hubs-kivételek listáját a Kivételek áttekintésében találja.
Diagnosztikai naplók
Az Event Hubs kétféle diagnosztikai naplót támogat – a hibanaplók és a működési naplók rögzítését –, amelyek mindegyike jsonban jelenik meg, és az Azure Portalon keresztül kapcsolható be.
Támogatás és SLA
Az Event Hubs technikai támogatása az Azure Service Bus Microsoft Q&A kérdésoldalán keresztül érhető el. A számlázás és az előfizetések kezelésének támogatása díjmentesen igénybe vehető.
Az SLA-val kapcsolatos további információkért tekintse meg a Szolgáltatásiszint-szerződések oldalt.
Azure Stack Hub
Hogyan célozhatom meg az Azure Storage SDK egy adott verzióját az Azure Blob Storage ellenőrzőpont-tárolóként való használatakor?
Ha ezt a kódot az Azure Stack Hubon futtatja, futásidejű hibákat fog tapasztalni, kivéve, ha egy adott Storage API-verziót céloz meg. Ennek az az oka, hogy az Event Hubs SDK az Azure-ban elérhető legújabb Azure Storage API-t használja, amely nem feltétlenül érhető el az Azure Stack Hub platformon. Előfordulhat, hogy az Azure Stack Hub a Storage Blob SDK egy másik verzióját támogatja, mint ami általában elérhető az Azure-ban. Ha az Azure Blog Storage-t használja ellenőrzőpont-tárolóként, ellenőrizze az Azure Stack Hub buildjének támogatott Azure Storage API-verzióját, és célozza meg a kódban ezt a verziót.
Ha például az Azure Stack Hub 2005-ös verzióján fut, a Storage szolgáltatás legmagasabb elérhető verziója a 2019-02-02-es verzió. Alapértelmezés szerint az Event Hubs SDK-ügyfélkódtár az Azure legmagasabb elérhető verzióját használja (2019-07-07 az SDK kiadásának időpontjában). Ebben az esetben az ebben a szakaszban ismertetett lépések mellett a Storage szolgáltatás API 2019-02-02-es verziójának célkódját is hozzá kell adnia. Egy konkrét Storage API-verzió megcélzására vonatkozó példa: C#, Java, Python és JavaScript/TypeScript.
Ha egy példát szeretne látni arra, hogyan célozhat meg egy adott Storage API-verziót a kódból, tekintse meg az alábbi példákat a GitHubon:
- .NET
- Java
- Python – Szinkron, aszinkron
- JavaScript és TypeScript
Következő lépések
Az alábbi webhelyeken további információt talál az Event Hubsról: