Choisissez entre Azure Event Grid, Event Hubs et Service Bus

Azure fournit plusieurs services pour la remise d’événements et de messages tout au long d’une solution. Chaque service cible différents scénarios, du routage des événements réactifs au streaming à débit élevé vers la messagerie transactionnelle de niveau entreprise.

Cet article compare les services suivants :

Choisir un service candidat

Cette section vous aide à sélectionner les services les mieux adaptés à vos besoins.

Utilisez le tableau suivant pour affiner rapidement le service adapté à votre scénario :

Critère Grid d'événements Event Hubs Bus de Service
Objectif principal Routage d’événements réactifs Diffusion en continu et ingestion de Big Data Messagerie transactionnelle d’entreprise
Modèle de données Événements (notifications discrètes) Flux d’événements (série chronologique) Messages (charges utiles à valeur élevée)
Garantie de livraison Au moins une fois Au moins une fois Au moins une fois (facultatif dans un ordre précis, exactement une fois avec sessions)
Quand utiliser Réagir aux changements d’état, architectures sans serveur Télémétrie, diffusion en continu de données distribuées, analytique en temps réel Traitement des commandes, transactions financières, flux de travail

Le résultat de cette section est un point de départ à prendre en compte. Utilisez les sections suivantes pour effectuer une évaluation détaillée des services.

Événements et messages dans Azure services de messagerie

Il existe une distinction importante entre les services Azure qui fournissent un événement et des services qui fournissent un message.

Événement : notification légère d’une condition ou d’un changement d’état. L’éditeur n’a aucune attente quant à la manière dont l’événement est géré. Les événements peuvent être discrets (signaler une modification d’état exploitable) ou une partie d’une série chronologique (signaler une condition pouvant être analysé). Les événements discrets conviennent parfaitement aux solutions sans serveur qui ont besoin d’être mises à l’échelle.

Message : données brutes produites par un service à consommer ou stocker ailleurs. Le message contient les données qui ont déclenché le pipeline de message. Un contrat existe entre l’éditeur et le consommateur. Par exemple, l’éditeur envoie un message avec des données brutes et s’attend à ce que le consommateur crée un fichier à partir de ces données et envoie une réponse lorsque le travail est effectué.

Scalabilité et débit

Le tableau suivant compare comment Azure Event Grid, Azure Event Hubs et Azure Service Bus gérer l’extensibilité et le débit.

Critère Grid d'événements Event Hubs Bus de Service
Throughput Mise à l’échelle dynamique, sans serveur Millions d’événements par seconde Remise asynchrone fiable
Modèle de latence Remise d’événements en quasi temps réel Diffusion en continu à faible latence Avec broker et long polling facultatif
Modèle de mise à l’échelle Automatique (sans serveur) Unités de débit / unités de traitement Unités de messagerie (Premium)

Fonctionnalités de messagerie

Le tableau suivant compare les fonctionnalités de messagerie de Azure Event Grid, de Azure Event Hubs et de Azure Service Bus.

Critère Grid d'événements Event Hubs Bus de Service
Protocole MQTT, HTTP AMQP, Kafka, HTTP AMQP, HTTP
Pub/Sub Oui (publication-abonnement) Oui (groupes de consommateurs) Oui (rubriques et abonnements)
Classement Aucune garantie Par partition FIFO (sessions)
Transactions Non Non Oui
Détection des doublons Non Non Oui
Lettres mortes Oui Non Oui
Traitement par lots Oui Oui (lots d’événements) Oui (sessions)
Capture / restitution Non Oui (Event Hubs Capture) Non

Intégration et déploiement

Le tableau suivant compare les options d’intégration et de déploiement pour Azure Event Grid, Azure Event Hubs et Azure Service Bus.

Critère Grid d'événements Event Hubs Bus de Service
intégration de service Azure Intégration approfondie aux services Azure et aux services tiers Infrastructures de traitement de flux et services d’analytique Applications d’entreprise, cloud hybride, connectivité locale
Éditions Azure Event Grid (PaaS), Event Grid sur Kubernetes avec Azure Arc Standard, Premium, Dédié De base, Standard, Premium

Utiliser Event Grid, Event Hubs et Service Bus ensemble

Dans certains cas, vous utilisez les services côte à côte afin qu’ils remplissent des rôles distincts. Par exemple, un site de commerce électronique peut utiliser Service Bus pour traiter les commandes, Event Hubs pour capturer les données de télémétrie de site et Event Grid pour répondre à des événements comme un article expédié.

Dans d’autres cas, vous les liez pour former un pipeline d’événements et de données. Event Grid vous permet de répondre aux événements dans les autres services. Pour obtenir un exemple d’utilisation d’Event Grid avec Event Hubs pour migrer des données vers Azure Synapse Analytics, consultez Stream Big Data dans Azure Synapse Analytics. L’image suivante montre le flux de travail de diffusion des données.

Diagramme montrant comment Event Hubs, Service Bus et Event Grid peuvent être connectés ensemble.