Kiezen tussen Azure Event Grid, Event Hubs en Service Bus

Azure biedt verschillende services voor het leveren van gebeurtenissen en berichten in een oplossing. Elke dienst is bedoeld voor verschillende scenario's, van reactieve gebeurtenisroutering tot streaming met hoge doorvoer en transactionele berichtenuitwisseling op ondernemingsniveau.

In dit artikel worden de volgende services vergeleken:

Een kandidaatdienst kiezen

Deze sectie helpt u bij het selecteren van de meest waarschijnlijke services voor uw behoeften.

Gebruik de volgende tabel om snel te bepalen welke service past bij uw scenario:

Criterion Gebeurtenisgrid Event Hubs Dienstbus
Primair doel Reactieve gebeurtenisroutering Streaming en opname van big data Zakelijke transactionele berichten
gegevensmodel Gebeurtenissen (discrete meldingen) Gebeurtenisstromen (tijdgeordende reeks) Berichten (waardevolle gegevensladingen)
Leveringsgarantie Ten minste één keer Ten minste één keer Ten minste één keer (optioneel besteld, precies één keer met sessies)
Wanneer gebruiken Reageren op statuswijzigingen, serverloze architecturen Telemetrie, gedistribueerde gegevensstreaming, realtime analyse Orderverwerking, financiële transacties, werkstromen

Het resultaat van deze sectie is een uitgangspunt voor overweging. Gebruik de volgende secties om een gedetailleerde evaluatie van de services uit te voeren.

Gebeurtenissen versus berichten in Azure berichtenservices

Er is een belangrijk onderscheid tussen Azure services die een gebeurtenis en services leveren die een bericht bezorgen.

Gebeurtenis: Een lichtgewicht melding van een voorwaarde of statuswijziging. De uitgever heeft geen verwachting over de manier waarop de gebeurtenis wordt verwerkt. Gebeurtenissen kunnen afzonderlijk zijn (rapporteren van een statuswijziging die kan worden uitgevoerd) of een deel van een tijd geordende reeks (rapporteren van een voorwaarde die kan worden geanalyseerd). Afzonderlijke gebeurtenissen zijn ideaal voor serverloze oplossingen die moeten worden geschaald.

Bericht: Onbewerkte gegevens die door een service worden geproduceerd om elders te worden verbruikt of opgeslagen. Het bericht bevat de gegevens die de berichtenpijplijn hebben geactiveerd. Er bestaat een contract tussen uitgever en consument. De uitgever verzendt bijvoorbeeld een bericht met onbewerkte gegevens en verwacht dat de consument een bestand op basis van die gegevens maakt en een antwoord verzendt wanneer het werk is voltooid.

Schaalbaarheid en doorvoer

De volgende tabel vergelijkt hoe Azure Event Grid, Azure Event Hubs en Azure Service Bus schaalbaarheid en doorvoer verwerken.

Criterion Gebeurtenisgrid Event Hubs Dienstbus
Throughput Dynamisch schaalbaar, serverloos Miljoenen gebeurtenissen per seconde Betrouwbare asynchrone levering
Latentiemodel Bijna realtime levering van gebeurtenissen Streaming met lage latentie Via broker met optionele long polling
Schaalbaarheidsmodel Automatisch (serverloos) Doorvoereenheden/verwerkingseenheden Berichteenheden (Premium)

Berichtenfuncties

In de volgende tabel worden de berichtenfuncties van Azure Event Grid, Azure Event Hubs en Azure Service Bus vergeleken.

Criterion Gebeurtenisgrid Event Hubs Dienstbus
Protocol MQTT, HTTP AMQP, Kafka, HTTP AMQP, HTTP
Pub/sub Ja (publiceren-abonneren) Ja (consumentengroepen) Ja (onderwerpen en abonnementen)
Bestellen Geen garantie Per partitie FIFO (sessies)
Transacties Nee. Nee. Yes
Duplicatendetectie Nee. Nee. Yes
Dead-lettering Yes Nee. Yes
batchverwerking Yes Ja (gebeurtenisbatches) Ja (sessies)
Vastleggen/opnieuw afspelen Nee. Ja (Event Hubs Capture) Nee.

Integratie en implementatie

In de volgende tabel worden integratie- en implementatieopties vergeleken voor Azure Event Grid, Azure Event Hubs en Azure Service Bus.

Criterion Gebeurtenisgrid Event Hubs Dienstbus
integratie van Azure-service Diepgaande integratie met Azure-services en services van derden Infrastructuren en analyseservices voor stroomverwerking Bedrijfstoepassingen, hybride cloud, on-premises connectiviteit
Edities Azure Event Grid (PaaS), Event Grid in Kubernetes met Azure Arc Standard, Premium, Toegewijd Basic, Standard en Premium

Event Grid, Event Hubs en Service Bus samen gebruiken

In sommige gevallen kunt u de services naast elkaar gebruiken om verschillende rollen te kunnen vervullen. Een e-commercesite kan bijvoorbeeld Service Bus gebruiken om orders te verwerken, Event Hubs om sitetelemetrie vast te leggen en Event Grid om te reageren op gebeurtenissen zoals een item dat wordt verzonden.

In andere gevallen kunt u ze koppelen om een gebeurtenis- en gegevenspijplijn te vormen. U gebruikt Event Grid om te reageren op gebeurtenissen in de andere services. Zie Big Data streamen naar Azure Synapse Analytics voor een voorbeeld van het gebruik van Event Grid met Event Hubs om gegevens te migreren naar Azure Synapse Analytics. In de volgende afbeelding ziet u de werkstroom voor het streamen van de gegevens.

Diagram waarin wordt getoond hoe Event Hubs, Service Bus en Event Grid met elkaar kunnen worden verbonden.