Idées de solution
Cet article présente une idée de solution. Si vous souhaitez que nous développions le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, adressez-nous vos commentaires GitHub.
Cet article décrit une architecture serverless basée sur les événements, hébergée dans un réseau virtuel, qui ingère et traite un flux de données, puis écrit les résultats dans une base de données.
Architecture
Dataflow
- L’intégration au réseau virtuel permet de placer toutes les ressources Azure derrière des points de terminaison privés Azure.
- Les événements arrivent au Event Hub d’entrée.
- La fonction Azure de dégroupement et de filtrage est déclenchée pour gérer l’événement. Cette étape filtre les événements indésirables et dégroupe les événements reçus avant de les envoyer au Event Hub de sortie.
- Si la fonction Azure de dégroupement et de filtrage ne parvient pas à stocker l’événement correctement, ce dernier est envoyé au Event Hub de lettres mortes 1.
- Les événements arrivant au Event Hub de sortie déclenchent la fonction Azure de transformation. Cette fonction Azure transforme l’événement en message pour l’instance Azure Cosmos DB.
- L’événement est stocké dans une base de données Azure Cosmos DB.
- Si la fonction de dégroupement Azure ne parvient pas à stocker l’événement correctement, l’événement est enregistré dans le Event Hub de lettres mortes 2.
Notes
Par souci de simplicité, les sous-réseaux ne sont pas affichés dans le diagramme.
Composants
- Le point de terminaison privé Azure est une interface réseau qui vous connecte de façon privée et sécurisée à un service s’appuyant sur Azure Private Link. Private Endpoint utilise une adresse IP privée de votre réseau virtuel, plaçant de fait le service dans votre réseau virtuel.
- Event Hubs ingère le flux de données. Event Hubs est conçu pour les scénarios de diffusion de données à débit élevé.
- Azure Functions est une solution de calcul serverless. Cette application utilise un modèle événementiel, dans lequel un morceau de code (une fonction) est invoqué par un déclencheur.
- Azure Cosmos DB est un service de base de données multimodèle qui est disponible en mode serverless et basé sur la consommation. Pour ce scénario, la fonction de traitement d’événements stocke les enregistrements JSON à l’aide d’Azure Cosmos DB for NoSQL.
Détails du scénario
Cette idée de solution montre une variante d’une architecture serverless basée sur des événements qui ingère un flux de données, traite les données et écrit les résultats dans une base de données back-end. Dans cet exemple, la solution est hébergée dans un réseau virtuel, et toutes les ressources Azure se trouvent derrière des points de terminaison privés.
Pour en savoir plus sur les concepts de base, les éléments à prendre en compte et les approches du traitement des événements serverless, consultez l’architecture de référence associée.
Cas d’usage potentiels
Le service d’ingestion de streaming d’Event Hubs est un cas d’usage courant pour implémenter un modèle de traitement des flux d’événements de bout en bout. Il reçoit et traite les événements par seconde en utilisant une logique de dégroupement et de transformation qui est implémentée avec des fonctions hautement scalables déclenchées par Event Hubs.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Rajasa Savant | Ingénieur de développement logiciel senior
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Gérer une connexion de point de terminaison privé
- Guides de démarrage rapide sur les points de terminaison privés :
- Documentation Azure Event Hubs
- Présentation d’Azure Functions
- Documentation Azure Functions
- Présentation d’Azure Cosmos DB
- Choisir une API dans Azure Cosmos DB
Ressources associées
- Traitement d’événements sans serveur est une architecture de référence détaillant une architecture typique de ce type, avec des exemples de code et des informations importantes à prendre en compte.
- Supervision du traitement d’événements serverless fournit une vue d’ensemble et des conseils sur la supervision des architectures serverless basées sur les événements comme celle-ci.
- Dégroupement et filtrage dans le traitement d’événements serverless avec Event hubs décrit plus en détail la façon dont ces parties de l’architecture fonctionnent.
- Azure Kubernetes dans le traitement de flux d’événements décrit une variante d’une architecture serverless basée sur les événements s’exécutant sur Azure Kubernetes avec l’outil de mise à l’échelle Keda.