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 variante d’une architecture serverless basée sur les événements qui s’exécute sur Azure Kubernetes Service (AKS) avec l’outil de mise à l’échelle KEDA. La solution ingère un flux de données, traite les données, puis écrit les résultats dans une base de données back-end.
Architecture
Téléchargez un fichier Visio de cette architecture.
Dataflow
- AKS est utilisé avec l’outil de mise à l’échelle KEDA pour automatiquement mettre à l’échelle les conteneurs Azure Functions selon le nombre d’événements à traiter.
- 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 hub d’événements 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.
Composants
- Azure Kubernetes Service (AKS) simplifie le déploiement d’un cluster Kubernetes managé dans Azure en déchargeant la surcharge opérationnelle sur Azure. En tant que service Kubernetes hébergé, Azure gère des tâches critiques telles que l’analyse de l’intégrité et la maintenance.
- KEDA est un outil de mise à l’échelle automatique basé sur les événements, qui est utilisé pour mettre à l’échelle les conteneurs d’un cluster Kubernetes en fonction du nombre d’événements à traiter.
- 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.
Notes
Pour les scénarios IoT (Internet des objets), nous recommandons Azure IoT Hub. IoT Hub a un point de terminaison intégré qui est compatible avec l’API Azure Event Hubs ; vous pouvez donc utiliser l’un ou l’autre service dans cette architecture sans aucune modification majeure dans le traitement back-end. Pour plus d’informations, consultez Connexion des appareils IoT à Azure : IoT Hub et Event Hubs.
Détails du scénario
Cet article décrit une architecture serverless basée sur les événements qui s’exécute sur AKS avec l’outil de mise à l’échelle KEDA. La solution ingère un flux de données, traite les données, puis écrit les résultats dans une base de données back-end.
Pour en savoir plus sur les concepts de base, les considérations et les approches du traitement des événements serverless, examinez l’architecture de référence pour le traitement des événements serverless.
Cas d’usage potentiels
Un cas d’usage courant pour implémenter un modèle de traitement de flux d’événements de bout en bout inclut le service d’ingestion de streaming Event Hubs pour recevoir et traiter des événements par seconde en utilisant une logique de dégroupement et de transformation implémentée avec des fonctions hautement évolutives déclenchées par un Event Hub.
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
- Présentation d’Azure Kubernetes Service
- 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.
- Un scénario de liaison privée dans le traitement des flux d’événements est une idée de solution pour implémenter une architecture similaire dans un réseau virtuel avec des points de terminaison privés, dans un souci de renforcer la sécurité.