Azure Event Hubs - une plateforme de diffusion de données en temps réel avec prise en charge native d’Apache Kafka

Azure Event Hubs est un service de diffusion de données natif cloud qui peut diffuser des millions d’événements par seconde, avec une faible latence, de n’importe quelle source à n’importe quelle destination. Event Hubs est compatible avec Apache Kafka et vous permet d’exécuter des charges de travail Kafka existantes sans aucune modification du code.

En utilisant Event Hubs pour ingérer et stocker des données de diffusion en continu, les entreprises peuvent exploiter la puissance des données de diffusion pour obtenir de précieuses informations, générer des analyses en temps réel et répondre aux événements au fur et à mesure qu’ils se produisent, améliorant ainsi l’efficacité globale et l’expérience client.

Diagram that shows how Azure Event Hubs fits in an event streaming platform.

Azure Event Hubs est la couche d’ingestion d’événements préférée de toute solution de diffusion d’événements que vous créez sur Azure. Il s’intègre en toute transparence aux services de données et d’analytique à l’intérieur et à l’extérieur d’Azure pour créer votre pipeline de diffusion de données complet pour traiter les cas d’utilisation suivants.

Fonctionnalités clés

Apache Kafka sur Azure Event Hubs

Azure Event Hubs est un moteur de diffusion en continu d’événements multi-protocole qui prend en charge nativement les protocoles AMQP, Apache Kafka et HTTPs. Grâce à la prise en charge d’Apache Kafka, vous apportez des charges de travail Kafka à Azure Event Hubs sans modifier de code. Vous n’avez pas besoin d’installer, de configurer ou de gérer vos propres clusters Kafka, ni d’utiliser une offre Kafka en tant que service qui n’est pas native pour Azure.

Event Hubs a été conçu dès le départ en tant que moteur de répartiteur natif cloud. Par conséquent, vous pouvez exécuter des charges de travail Kafka avec de meilleures performances, une meilleure rentabilité et sans surcharge opérationnelle.

Pour plus d’informations, consultez Azure Event Hubs pour Apache Kafka.

Registre de schémas dans Azure Event Hubs

Azure Schema Registry dans Event Hubs fournit un référentiel centralisé pour la gestion des schémas d’applications de diffusion en continu d’événements. Le registre de schémas Azure est fourni gratuitement avec chaque espace de noms Event Hubs et s’intègre en toute transparence aux applications Kafka ou aux applications basées sur le SDK Event Hubs.

Diagram that shows Schema Registry and Azure Event Hubs integration.

Il garantit la compatibilité et la cohérence des données entre les producteurs et les consommateurs d’événements. Le Registre de schémas permet une évolution, une validation et une gouvernance des schémas transparents, et favorise un échange et une interopérabilité efficaces des données.

Le Registre de schémas s’intègre parfaitement à vos applications Kafka existantes et prend en charge plusieurs formats de schéma, notamment Avro et JSON Schemas.

Pour plus d’informations, consultez Azure Schema Registry dans Event Hubs.

Traitement en temps réel des événements de diffusion avec Azure Stream Analytics

Event Hubs s’intègre en toute transparence à Azure Stream Analytics pour activer le traitement de diffusion en temps réel. Avec l’éditeur sans code intégré, vous pouvez développer facilement une tâche Stream Analytics à l’aide de fonctionnalités de glisser-déplacer, sans écrire de code.

Screenshot showing the Process data page with Enable real time insights from events tile selected.

Les développeurs peuvent également utiliser le langage de requête Stream Analytics basé sur SQL pour effectuer le traitement d’une diffusion en temps réel et tirer parti d’un large éventail de fonctions pour analyser les données de diffusion.

Pour plus d’informations, consultez les articles de la section d’intégration d’Azure Stream Analytics de la table des matières.

Exploration de données de diffusion avec Azure Data Explorer

Azure Data Explorer est une plateforme entièrement managée pour l’analytique Big Data qui offre des performances élevées et permet l’analyse de grands volumes de données en quasi-temps réel. En intégrant Event Hubs à Azure Data Explorer, vous pouvez facilement effectuer une analyse et une exploration des données de diffusion en quasi-temps réel.

Diagram that shows Azure Data explorer query and output.

Pour plus d'informations, consultez Ingérer des données Event Hub dans Azure Data Explorer et les autres articles de la même section.

Un écosystème riche - Des fonctions Azure, des SDK et l’écosystème Kafka

Ingérez, mettez en mémoire tampon, stockez et traitez votre flux en temps réel pour obtenir des insights actionnables. Event Hubs utilise un modèle de consommateur partitionné, ce qui permet à plusieurs applications de traiter le flux de données en même temps et vous laisse le contrôle sur la rapidité du traitement. Azure Event Hubs s’intègre aussi avec Azure Functions pour une architecture sans serveur.

Avec un vaste écosystème disponible au protocole AMQP 1.0 standard et aux kits de développement logiciel (SDK) disponibles dans différents langages (.NET, Java, Python, JavaScript), vous pouvez facilement lancer le traitement de vos flux en provenance d’Event Hubs. Tous les langages client pris en charge fournissent une intégration de faible niveau.

L’écosystème vous offre également une intégration transparente d’Azure Functions, d’Azure Spring Apps, des connecteurs Kafka et d’autres plateformes et technologies d’analytique des données telles qu’Apache Spark et Apache Flink.

Diffusion d’événements flexible et économique

Vous pouvez obtenir une diffusion d’événements flexible et économique par le biais de la sélection diversifiée d’Event Hubs de niveaux – , notamment Standard, Premium et Dedicated. Ces options répondent aux besoins de diffusion de données allant de quelques Mo/s à plusieurs Go/s, ce qui vous permet de choisir ce qui correspond le mieux à vos besoins.

Évolutif

Avec Event Hubs, vous pouvez commencer avec des flux de données en mégaoctets et passer à des gigaoctets ou téraoctets. La fonctionnalité de majoration automatique est une des nombreuses options disponibles pour augmenter ou diminuer le nombre d’unités de débit ou d’unités de traitement et ainsi répondre à vos besoins d’utilisation.

Capturer des données de diffusion dans un but de rétention à long terme et d’analytique par lots

Capturez vos données en quasi-temps réel dans un compte Stockage Blob Azure ou Azure Data Lake Storage pour une conservation à long terme ou un traitement par micro-lots. Vous pouvez obtenir ce comportement sur le même flux que celui que vous utilisez pour la dérivation de l’analytique en temps réel. La configuration de l’outil Capture est rapide.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage using Managed Identity

Fonctionnement

Event Hubs fournit une plateforme de diffusion unifiée avec une mémoire tampon de conservation temporelle, en séparant les producteurs d’événements des consommateurs d’événements. Les applications producteurs et des consommateurs peuvent effectuer une ingestion de données à grande échelle via plusieurs protocoles.

Le schéma suivant illustre les principaux composants de l’architecture Event Hubs :

Diagram that shows the main components of Event Hubs.

Les principaux composants fonctionnels d’Event Hubs sont les suivants :

  • Les applications producteurs peuvent ingérer des données dans un hub d’événements à l’aide de kits SDK Event Hubs ou de n’importe quel client de producteur Kafka.
  • L’espace de noms est le conteneur de gestion d’un ou plusieurs hubs d’événements ou rubriques Kafka. Les tâches de gestion telles que l’allocation de la capacité de diffusion, la configuration de la sécurité réseau, l’activation de la récupération d’urgence géographique, etc. sont gérées au niveau de l’espace de noms.
  • La rubrique Event Hub/Kafka: dans Event Hubs, vous pouvez organiser des événements dans un hub d’événements ou une rubrique Kafka. Il s’agit d’un journal distribué d’ajout uniquement, qui peut comprendre une ou plusieurs partitions.
  • Les partitions sont utilisées pour mettre à l’échelle un hub d’événements. Elles peuvent être comparées à des voies sur une autoroute. Si vous avez besoin d’un débit de diffusion supplémentaire, vous devez ajouter d’autres partitions.
  • Les applications grand public consomment des données en recherchant dans le journal des événements et en conservant le décalage consommateur. Les consommateurs peuvent être des clients de Kafka ou des clients du SDK Event Hubs.
  • Un groupe de consommateurs est un regroupement logique de consommateurs qui lisent des données à partir d’un hub d’événements ou d’une rubrique Kafka. Cela permet à plusieurs consommateurs de lire les mêmes données de diffusion dans un hub d’événements indépendamment, à leur propre rythme, avec leurs propres décalages.

Étapes suivantes

Pour prendre en main Event Hubs, consultez les articles de démarrage rapide suivants.

Diffuser des données à l’aide du SDK Event Hubs (AMQP)

Vous pouvez utiliser l’un des exemples suivants pour diffuser des données vers Event Hubs à l’aide de SDK.

Diffuser des données à l’aide d’Apache Kafka

Vous pouvez utiliser les exemples suivants pour diffuser des données de vos applications Kafka vers Event Hubs.

Validation de schéma avec Schema Registry

Vous pouvez utiliser le Registre de schémas Event Hubs pour effectuer la validation de schéma de vos applications de diffusion d’événements.