Modifier

Traitement de flux d’événements sans serveur dans un réseau virtuel avec des points de terminaison privés

Azure Private Link
Hubs d'événements Azure
Azure Functions
Azure Cosmos DB

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

Diagramme montrant les données circulant dans un réseau virtuel, puis traitées par l’architecture décrite dans cet article.

Dataflow

  1. L’intégration au réseau virtuel permet de placer toutes les ressources Azure derrière des points de terminaison privés Azure.
  2. Les événements arrivent au Event Hub d’entrée.
  3. 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.
  4. 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.
  5. 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.
  6. L’événement est stocké dans une base de données Azure Cosmos DB.
  7. 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 :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes