Hvad er den vigtigste forskel mellem Azure Event Grid og Azure Event Hub?


Svar 1:

Azure EventHub er en begivenhedsindtagende, så det er en opbevaring, der vedvarer begivenheder, der sendes af applikationer i et tidsrum (maks. 7 dage). Med en klientside-markør (checkpointing) kan du behandle begivenheden flere gange for at lave tidsserier, vindue-behandling af begivenhederne. Det er designet til at udføre massiv skalering. Så det er nyttigt at indtage og behandle for eksempel IoT-begivenheder.

Azure EventGrid er et lag over Azure ServiceBus: det implementerer et udgiver / abonnentmønster over ServiceBus, hvor meddelelse betragtes som en begivenhed. I stedet for at implementere den klassiske håndtering af beskedpumpe, abonnerer du på en begivenhed med erklærende filtrering og routing. Du kan håndtere begivenheder med køer, webhooks eller relæ.


Svar 2:

Begivenheder kan også opdeles i to forskellige sektioner.

Den første er seriebegivenheder, der repræsenterer en strøm af begivenheder, der hører sammen. Her kan vi tænke på telemetrilæsninger fra en IoT-enhed eller logge begivenheder fra vores applikation. Denne type begivenheder kan håndteres i Azure ved hjælp af Event Hubs, som er en streamingbegivenhedsbutik.

Den anden type begivenhed er diskrete begivenheder. Diskrete begivenheder er uafhængige og rapporterer en eller anden form for tilstandsændring. Hvis vi for eksempel oprettede en faktura til vores ordre, kan en begivenhed indikere, at fakturaen er placeret på en lagerkonto. Diskrete begivenheder kan bruges til at starte en handling uden at angive, hvilken type handling der forventes. Hvert system, der modtager en diskret begivenhed, vil selv bestemme, hvilken type handling det vil tage. I Azure bruger vi Event Grid til at arbejde med denne type begivenheder.

Her er min blog om Fleet Management System, der bruger både Event Hub og Event Grid til forskellige formål.