Azure Well-Architected Framework perspectief op Azure Event Hubs
Azure Event Hubs is een schaalbare service voor gebeurtenisverwerking die grote hoeveelheden gebeurtenissen en gegevens opneemt en verwerkt, met lage latentie en hoge betrouwbaarheid. Het kan miljoenen gebeurtenissen per seconde ontvangen en verwerken. Gegevens die naar een Event Hub worden verzonden, kunnen worden getransformeerd en opgeslagen met behulp van een realtime analyseprovider of batchverwerking en opslagadapters.
Raadpleeg de documentatie van Azure Event Hubs voor meer informatie over het gebruik van Event Hubs voor informatie over het gebruik van Event Hubs om miljoenen gebeurtenissen per seconde op te nemen van verbonden apparaten en toepassingen.
Raadpleeg de volgende artikelen om inzicht te krijgen in de manieren waarop Event Hubs u helpt operationele uitmuntendheid en betrouwbaarheid voor uw workload te bereiken:
- Azure Event Hubs bewaken
- Gegevens van Azure Diagnostics streamen met behulp van Event Hubs
- Schalen met Event Hubs
De volgende secties zijn specifiek voor Azure Event Hubs vanuit het perspectief van een goed ontworpen framework:
- Ontwerpoverwegingen
- Controlelijst voor configuratie
- Aanbevolen configuratieopties
- Bronartefacten
Ontwerpoverwegingen
Azure Event Hubs biedt een SLA voor uptime. Raadpleeg de SLA voor Event Hubs voor meer informatie.
Checklijst
Hebt u Azure Event Hubs geconfigureerd met operationele uitmuntendheid in het achterhoofd?
- Maak respectievelijk SendOnly- en ListenOnly-beleid voor de gebeurtenisuitgever en de consument.
- Wanneer u de SDK gebruikt om gebeurtenissen naar Event Hubs te verzenden, moet u ervoor zorgen dat de uitzonderingen die worden gegenereerd door het beleid voor opnieuw proberen (
EventHubsException
ofOperationCancelledException
) correct worden afgevangen. - Gebruik in scenario's met hoge doorvoer batchgebeurtenissen.
- Elke consument kan gebeurtenissen lezen van één tot maximumpartitie die wordt ondersteund door de Event Hubs-SKU
- Wanneer u nieuwe toepassingen ontwikkelt, gebruikt
EventProcessorClient
u (.NET en Java) ofEventHubConsumerClient
(Python en JavaScript) als client-SDK. - Als onderdeel van uw oplossingsbrede beschikbaarheids- en herstelstrategie kunt u overwegen om de optie voor geo-herstel na noodgevallen van Event Hubs in te schakelen.
- Wanneer een oplossing een groot aantal onafhankelijke gebeurtenisuitgevers heeft, kunt u overwegen gebeurtenisuitgevers te gebruiken voor gedetailleerd toegangsbeheer.
- Publiceer geen gebeurtenissen naar een specifieke partitie.
- Wanneer gebeurtenissen regelmatig worden gepubliceerd, gebruikt u indien mogelijk het AMQP-protocol.
- Het aantal partities weerspiegelt de mate van downstreamparallelisme dat u kunt bereiken.
- Zorg ervoor dat elke verbruikende toepassing gebruikmaakt van een afzonderlijke consumentengroep en dat er slechts één actieve ontvanger per consumentengroep aanwezig is.
- Houd bij het gebruik van de functie Capture zorgvuldig rekening met de configuratie van het tijdvenster en de bestandsgrootte, met name bij lage gebeurtenisvolumes.
Aanbevelingen voor configuratie
Houd rekening met de volgende aanbevelingen om de betrouwbaarheid te optimaliseren bij het configureren van Azure Event Hubs:
Bronartefacten
Gebruik de volgende query om Event Hubs-naamruimten met Basic SKU te vinden:
Resources
| where type == 'microsoft.eventhub/namespaces'
| where sku.name == 'Basic'
| project resourceGroup, name, sku.name