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 latence faible, depuis n’importe quelle source vers n’importe quelle destination. Event Hubs est compatible avec Apache Kafka. Il vous permet d’exécuter des charges de travail Kafka existantes sans aucune modification du code.
Les entreprises peuvent utiliser Event Hubs pour ingérer et stocker des données de diffusion en continu. En utilisant des données de diffusion en continu, les entreprises peuvent obtenir des insights précieux, produire des analyses en temps réel et répondre aux événements au fur et à mesure qu’ils se produisent. Elles peuvent utiliser ces données pour améliorer leur efficacité globale et l’expérience client.
Event Hubs est la couche d’ingestion d’événements préférée des solutions de diffusion d’événements que vous créez sur Azure. Il s’intègre aux services de données et d’analyse au sein et en dehors d’Azure afin de créer un pipeline de diffusion de données complet pour traiter les cas d’usage suivants :
- Traiter les données de votre hub d’événements en utilisant Azure Stream Analytics pour générer des insights en temps réel.
- L’analyse et l’exploration de données de diffusion avec Azure Data Explorer.
- Créez vos propres applications, fonctions ou microservices cloud qui s’exécutent sur des données de diffusion à partir d’Event Hubs.
- Diffuser des événements avec validation de schéma en utilisant le registre de schémas Azure intégré pour garantir la qualité et la compatibilité des données de diffusion.
Fonctionnalités clés
Découvrez les principales fonctionnalités d’Azure Event Hubs dans les sections suivantes.
Apache Kafka sur Azure Event Hubs
Event Hubs est un moteur multiprotocole de diffusion en continu d’événements qui prend en charge nativement les protocoles AMQP (Advanced Message Queuing Protocol), Apache Kafka et HTTPS. Comme il prend en charge Apache Kafka, vous pouvez soumettre des charges de travail Kafka à Event Hubs sans modification du 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 sur Azure.
Event Hubs a été conçu 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 Event Hubs
Le registre de schémas Azure 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 est gratuit avec chaque espace de noms Event Hubs. Il s’intègre à vos applications Kafka ou aux applications basées sur le Kit de développement logiciel (SDK) Event Hubs.
Le registre de schémas garantit la compatibilité et la cohérence des données entre les producteurs et les consommateurs d’événements. Il permet l’évolution, la validation et la gouvernance des schémas, et favorise un échange et une interopérabilité efficaces des données.
Le registre de schémas s’intègre à vos applications Kafka existantes, et prend en charge plusieurs formats de schéma, notamment les schémas Avro et JSON.
Pour plus d’informations, consultez Azure Schema Registry dans Event Hubs.
Traitement en temps réel des événements de diffusion avec Stream Analytics
Event Hubs s’intègre à Azure Stream Analytics pour permettre le traitement des diffusions en temps réel. Avec l’éditeur sans code intégré, vous pouvez développer une tâche Stream Analytics en utilisant la fonctionnalités de glisser-déplacer, sans écrire du code.
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.
Explorer 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 effectuer une analyse et une exploration des données de diffusion en quasi-temps réel.
Pour plus d’informations, consultez Ingérer des données provenant d’un Event Hub dans Azure Data Explorer.
Fonctions Azure, Kits de développement logiciel (SDK) et l’écosystème Kafka
Avec Event Hubs, 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é. Il permet à plusieurs applications de traiter le flux simultanément et vous laisse le contrôle de la vitesse du traitement. Event Hubs s’intègre aussi à Azure Functions pour les architectures serverless.
Un vaste écosystème est disponible pour le protocole AMQP 1.0, qui est la norme du secteur. Des Kits de développement logiciel (SDK) sont disponibles dans des langages tels que .NET, Java, Python et JavaScript : vous pouvez donc commencer à traiter vos flux provenant d’Event Hubs. Tous les langages client pris en charge fournissent une intégration de faible niveau.
L’écosystème vous permet également l’intégration à Azure Functions, Azure Spring Apps, Kafka Connectors et d’autres plateformes et technologies d’analytique données, comme Apache Spark et Apache Flink.
Prend en charge le développement local avec l’émulateur Event Hubs
L’émulateur Azure Event Hubs offre une expérience de développement locale pour Event Hubs. Vous pouvez utiliser l’émulateur pour développer et tester du code sur le service en isolation, sans interférences cloud. Pour plus d'informations, voir l'émulateur Event Hubs
Diffusion d’événements flexible et économique
Vous pouvez obtenir une diffusion d’événements flexible et économique via les niveaux Standard, Premium ou Dédié pour Event Hubs. Ces options répondent aux besoins de diffusion en continu de données allant de quelques Mo/s à plusieurs Go/s. Vous pouvez choisir ce qui est approprié pour vos besoins.
Évolutif
Avec Event Hubs, vous pouvez commencer avec des flux de données en mégaoctets, puis passer à des gigaoctets ou des téraoctets. La fonctionnalité de majoration automatique est une des options disponibles pour mettre à l’échelle le nombre d’unités de débit ou d’unités de traitement, et ainsi répondre à vos besoins d’utilisation.
Prend en charge le streaming de messages volumineux
Dans la plupart des scénarios de streaming, les données sont caractérisées par la légèreté, généralement inférieure à 1 Mo et ayant un débit élevé. Il existe aussi des instances où les messages ne peuvent pas être divisés en segments plus petits. Event Hubs peut facilement prendre en charge des événements jusqu’à 20 Mo avec des clusters dédiés évolutifs en libre-service sans frais supplémentaires. Cette fonctionnalité permet à Event Hubs de gérer un large éventail de tailles de messages et ainsi garantir un fonctionnement sans interruption des activités. Pour plus d’informations, consultez Envoyer et recevoir des messages de grande taille avec Azure Event Hubs.
Capturer des données de diffusion pour une conservation à long terme et l’analyse par lots
Capturez vos données en quasi-temps réel dans 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’analyse en temps réel. La configuration de l’outil Capture est rapide.
Fonctionnement
Event Hubs fournit une plateforme de diffusion d’événements 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 qui produisent et qui consomment peuvent effectuer l’ingestion des données à grande échelle via plusieurs protocoles.
Le diagramme suivant montre les principaux composants de l’architecture d’Event Hubs.
Les principaux composants fonctionnels d’Event Hubs sont les suivants :
- Applications productrices : ces applications peuvent ingérer des données dans un hub d’événements en utilisant des Kits de développement logiciel (SDK) Event Hubs ou n’importe quel client de producteur Kafka.
- Espace de noms : 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 et l’activation de la géo-reprise d’activité après sinistre sont gérées au niveau de l’espace de noms.
- Event Hubs/Rubrique Kafka : dans Event Hubs, vous pouvez organiser les événements dans un hub d’événements ou dans une rubrique Kafka. C’est un journal distribué en ajout uniquement, qui peut comprendre une ou plusieurs partitions.
- Partitions : elles sont utilisées pour mettre à l’échelle un hub d’événements. Elles sont comme les voies d’une autoroute. Si vous avez besoin de plus de débit de diffusion, vous pouvez ajouter plus de partitions.
- Applications consommatrices : ces applications 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.
- Groupe de consommateurs : ce groupe logique d’instances de consommateur lit des données depuis un hub d’événements ou 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.
Contenu connexe
Pour prendre en main Event Hubs, consultez les guides de démarrage rapide suivants.
Diffuser des données en utilisant le Kit de développement logiciel (SDK) Event Hubs (AMQP)
Vous pouvez utiliser les exemples suivants pour diffuser des données vers Event Hubs en utilisant des Kits de développement logiciel (SDK).
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Go
- C (envoi uniquement)
- Apache Storm (réception uniquement)
Diffuser des données en utilisant Apache Kafka
Vous pouvez utiliser les exemples suivants pour diffuser des données depuis 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.