Quelle est la principale différence entre Azure Event Grid et Azure Event Hub?


Réponse 1:

Azure EventHub est un ingestion d'événements, c'est donc un stockage qui conserve les événements envoyés par les applications pendant une période de temps (max 7 jours). Avec un curseur côté client (checkpointing), vous pouvez traiter l'événement plusieurs fois pour effectuer un traitement en série chronologique des événements. Il est conçu pour effectuer une mise à l'échelle massive. Il est donc utile d'ingérer et de traiter par exemple des événements IoT.

Azure EventGrid est une couche sur Azure ServiceBus: il implémente un modèle éditeur / abonné sur ServiceBus où le message est considéré comme un événement. Au lieu d'implémenter la tâche classique de gestion de la pompe à messages, vous vous abonnez à un événement, avec filtrage et routage déclaratifs. Vous pouvez gérer des événements avec des files d'attente, des webhooks ou des relais.


Réponse 2:

Les événements peuvent également être divisés en deux sections différentes.

Le premier est les événements en série, qui représentent un flux d'événements qui appartiennent ensemble. Ici, nous pouvons penser aux lectures de télémétrie à partir d'un appareil IoT ou à la journalisation des événements de notre application. Ce type d'événements peut être géré dans Azure à l'aide d'Event Hubs, qui est un magasin d'événements en streaming.

L'autre type d'événement est les événements discrets. Les événements discrets sont indépendants et signalent un certain type de changement d'état. Par exemple, si nous avons créé une facture pour notre commande, un événement pourrait indiquer que la facture a été placée sur un compte de stockage. Les événements discrets peuvent être utilisés pour démarrer une action, sans indiquer le type d'action attendu. Chaque système qui reçoit un événement discret décidera lui-même du type d'action qu'il entreprendra. Dans Azure, nous utilisons la grille d'événements pour travailler avec ce type d'événements.

Voici mon blog sur Fleet Management System qui utilise à la fois Event Hub et Event Grid à diverses fins.