Partager via


Conseils pour l’utilisation d’Azure Event Hubs dans une solution mutualisée

Event Hubs est une plateforme de streaming Big Data et un service d’ingestion d’événements, capable de recevoir et de traiter des millions d’événements par seconde. Vous pouvez transformer et stocker des données du hub d’événements à l’aide de fournisseurs d’analyse en temps réel et d’adaptateurs de traitement par lots/stockage. Pour comparer Event Hubs et les services de messagerie Azure, consultez Choisir entre les services de messagerie Azure : Event Grid, Event Hubs et Service Bus.

Cet article décrit les fonctionnalités d’Event Hubs et les modèles d’isolation que vous pouvez utiliser dans des solutions multilocataires.

Modèles d’isolation

Lorsque vous utilisez Event Hubs dans votre système multilocataire, vous devez décider du niveau d’isolation souhaité. Event Hubs prend en charge différents modèles de multilocation.

  • Architecture mutualisée approuvée : tous les locataires partagent un espace de noms Event Hubs. Ce choix peut être approprié lorsque tous les locataires se trouvent dans votre organisation.
  • Architecture mutualisée hostile : chaque locataire a son propre espace de noms qui n’est pas partagé. Ce choix peut être approprié lorsque vous souhaitez vous assurer que vos locataires n’ont pas de problèmes de voisins bruyants .

Un système peut implémenter les deux modèles : certains locataires partagent des espaces de noms, d’autres en ont un dédié. En outre, un locataire peut partager un espace de noms avec d’autres locataires, mais avoir des Event Hubs dédiés.

Le tableau suivant récapitule les différences entre les principaux modèles d’isolation des locataires pour Event Hubs. Les modèles sont décrits plus en détail dans les sections suivantes.

Considération Espace de noms dédié Espace de noms partagé, concentrateurs d'événements dédiés Espaces de noms partagés et event hubs
Isolation des données Élevé Moyenne Aucun
Isolation des performances La plus élevée. Gérez les besoins en performances en fonction des exigences de chaque locataire. Moyenne. Peut avoir des problèmes de voisins bruyants. Faible. Peut avoir des problèmes de voisins bruyants.
Complexité du déploiement Moyenne. Tenez compte des quotas et limites de Event Hubs au niveau de l’abonnement. Moyenne. Des entités de message distinctes doivent être déployées pour chaque locataire. Tenez compte des quotas et limites d’Event Hubs. Certains cas nécessitent plusieurs espaces de noms, en fonction du nombre de locataires. Faible
Complexité opérationnelle Élevée. Les espaces de noms doivent être gérés par locataire. Moyenne. Certains locataires nécessitent une gestion granulaire des entités de message. Faible
Exemple de scénario Instances d’application distinctes par locataire. Centres d'événements dédiés pour chaque locataire. Grande solution multilocataire avec une couche applicative partagée et un ou plusieurs concentrateurs d'événements partagés.

Remarque

Event Hubs pour Apache Kafka est une fonctionnalité qui fournit une tête de protocole au-dessus d’Event Hubs afin que Event Hubs puissent être utilisés par les applications Apache Kafka. Les applications diffusent des événements dans des event hubs, qui sont équivalents aux rubriques Kafka. Pour plus d’informations, consultez Qu’est-ce qu’Azure Event Hubs pour Apache Kafka.

Espace de noms dédié

Dans ce modèle, vous approvisionnez un espace de noms Event Hubs pour chaque locataire. Cette approche offre le niveau maximal d’isolation et la possibilité de fournir des performances acceptables pour tous les locataires.

Vous pouvez utiliser les techniques suivantes pour affiner les fonctionnalités d’événementielle afin de répondre aux exigences des locataires :

Si vous atteignez le nombre maximal d'espaces de noms Event Hubs dans votre abonnement Azure, vous pouvez déployer des espaces de noms sur différents abonnements à l’aide du modèle Deployment Stamps.

L’inconvénient de ce modèle d’isolation est que, lorsque le nombre de locataires augmente au fil du temps, la gestion des espaces de noms devient plus complexe. Un autre inconvénient est que le modèle augmente les coûts, car vous payez pour chaque espace de noms.

Espace de noms partagé, concentrateurs d'événements dédiés

Même si un espace de noms est partagé par plusieurs locataires, vous pouvez isoler les locataires d’un hub d’événements dédié. Vous pouvez utiliser des signatures d’accès partagé ou des identités Microsoft Entra pour contrôler l’accès.

À mesure que le nombre de locataires augmente au sein de votre système, le nombre de event hubs augmente également pour prendre en charge chaque locataire. Cette croissance peut entraîner des coûts d’exploitation plus élevés et une plus faible agilité organisationnelle. Le nombre d’event hubs par espace de noms est limité . Par conséquent, le nombre d’espaces de noms requis par votre système dépend du nombre de event hubs dont vos locataires ont besoin.

Lorsqu’un espace de noms est partagé, les problèmes de voisins bruyants sont plus probables. Par exemple, il est possible que les entités événementielles d'un tenant consomment une quantité disproportionnée des ressources du namespace et entravent les autres tenants. Les espaces de noms "event hub" ont des limites sur leurs unités de traitement (niveau Premium) ou de capacité (niveau dédié) et sur le nombre de connexions négociées à un espace de noms. Déterminez si un locataire unique peut consommer trop de ressources.

Espaces de noms partagés et concentrateurs d'événements

Vous pouvez avoir un espace de noms et des entités d’événement qui sont partagées par tous vos locataires. Ce modèle réduit la complexité opérationnelle et réduit les coûts des ressources.

Toutefois, le fait d'avoir un espace de noms partagé peut entraîner le problème du voisin bruyant et se traduire par une latence plus élevée pour certains locataires. Vous devez également implémenter vos applications pour servir plusieurs locataires. Les event hubs partagés et les rubriques Kafka ne fournissent pas d’isolation des données entre les locataires. Vous devez donc répondre aux exigences d’isolation des données dans votre logique d’application.

Remarque

N’utilisez pas de partitions Event Hubs pour essayer d’isoler vos locataires. Le partitionnement dans Event Hubs permet le traitement des événements et la scalabilité, mais il ne s’agit pas d’un modèle d’isolation. Vous pouvez envoyer des événements directement aux partitions, mais ce n’est pas recommandé, car cela rétrograde la disponibilité d’un event hub au niveau de la partition. Pour plus d’informations, consultez Disponibilité et cohérence dans Event Hubs.

Fonctionnalités d’Event Hubs qui prennent en charge l’architecture multilocataire

Les fonctionnalités suivantes d’Event Hubs soutiennent la multi-location :

Ces fonctionnalités sont abordées dans les sections suivantes.

Groupes d’applications

Un groupe d’applications est une collection d’une ou plusieurs applications clientes qui interagissent avec le plan de données Event Hubs. Vous pouvez appliquer des stratégies de gestion des quotas et des accès à toutes les applications du groupe en les appliquant au groupe lui-même.

Chaque groupe d’applications peut être limité à un espace de noms Event Hubs unique ou à un event hub unique. Il doit utiliser un identificateur de condition permettant d’identifier de manière unique les applications clientes, tel que le contexte de sécurité, qui est soit une signature d’accès partagé (SAP), soit un ID d’application Microsoft Entra.

Pour plus d’informations, consultez Gouvernance des ressources avec des groupes d’applications.

Espaces de noms Premium pour les hubs d’événements

Les espaces de noms Event Hubs Premium fournissent des unités de traitement réservées qui ne sont pas partagées avec d’autres espaces de noms. Ils garantissent une latence et un débit prévisibles pour chaque espace de noms et évitent les problèmes de voisin bruyant. Les espaces de noms Premium offrent le niveau d’isolation des performances le plus élevé sans nécessiter de cluster dédié.

Les espaces de noms Premium conviennent parfaitement aux scénarios multilocataires hostiles, où les locataires fonctionnent indépendamment et peuvent avoir des charges de travail imprévisibles. Chaque locataire peut utiliser la capacité totale de son espace de noms Premium sans affecter d’autres personnes, bien que cet avantage soit plus élevé que le niveau standard.

Les fonctionnalités Premium incluent les unités de traitement réservées, les clés gérées par le client, l’intégration de réseau virtuel et la rétention améliorée des messages.

Pour plus d’informations, consultez Vue d’ensemble d’Event Hubs Premium.

Autentification Microsoft Entra

Event Hubs est entièrement intégré à Microsoft Entra ID. Les clients peuvent s’authentifier auprès des ressources Event Hubs à l’aide d’une identité managée avec Microsoft Entra ID. Event Hubs définit un ensemble de rôles intégrés que vous pouvez accorder à vos locataires pour accéder aux entités Event Hubs. Par exemple, à l’aide de l’authentification Microsoft Entra, vous pouvez accorder à un locataire l’accès à un Event Hub qui contient les messages de ce locataire. Vous pouvez utiliser cette technique pour isoler un locataire des autres locataires.

Les applications Kafka peuvent utiliser L’identité managée OAuth pour accéder aux ressources Event Hubs.

Pour plus d’informations, consultez les articles suivants :

Signature d’accès partagé

Les signatures d’accès partagé (SAS) vous permettent d’accorder à un locataire l’accès à des ressources Event Hubs avec des droits spécifiques. Si vous isolez vos locataires au niveau de l’entité d’événement, vous pouvez accorder des clés SAS sur un concentrateur d'événements ou un sujet Kafka qui s’appliquent uniquement à un locataire particulier.

Pour plus d’informations, consultez Authentifier l’accès aux ressources Event Hubs avec des signatures d’accès partagé (SAS)

Clés gérées par le client

Si vos locataires ont besoin de leurs propres clés pour chiffrer et déchiffrer les événements, vous pouvez configurer des clés gérées par le client dans certaines versions d’Event Hubs.

Cette fonctionnalité nécessite que vous utilisiez un espace de noms de niveau Event Hub Premium ou un espace de noms de niveau Dédié Event Hub. Le chiffrement ne peut être activé que pour les espaces de noms nouveaux ou vides.

Pour plus d’informations, consultez Configurer les clés managées par le client pour le chiffrement des données au repos Azure Event Hubs.

Capture Event Hubs

Vous pouvez utiliser la fonctionnalité Capture d’Event Hubs pour capturer automatiquement des données de streaming à partir d’Event Hubs et les stocker dans un compte Stockage Blob Azure ou Data Lake Storage.

Cette fonctionnalité est utile pour l’archivage des événements. Par exemple, si vous êtes tenu d’archiver des événements pour un locataire pour des raisons de conformité, vous pouvez déployer des espaces de noms spécifiques au locataire et activer Event Hubs Capture pour archiver des événements sur des comptes de stockage Azure spécifiques au locataire. Vous pouvez également activer la Capture Event Hubs sur des Event Hubs spécifiques au locataire dans un espace de noms partagé.

Pour plus d’informations, consultez Capturez des événements via Azure Event Hubs dans Azure Blob Storage ou Azure Data Lake Storage.

Réparation après catastrophe géologique

La géo-reprise d’activité après sinistre réplique en permanence l’ensemble de la configuration d’un espace de noms Event Hubs à partir d’un espace de noms principal vers un espace de noms secondaire associé au serveur principal. Cette fonctionnalité peut vous aider à récupérer après des sinistres, tels que des défaillances régionales.

Par exemple, si vous isolez vos locataires au niveau de l’espace de noms, vous pouvez répliquer la configuration d’un espace de noms de locataire dans une région secondaire pour fournir une protection contre les pannes et les défaillances du serveur principal.

Pour en savoir plus, consultez Azure Event Hubs – Géo-reprise d’activité après sinistre.

Remarque

Pour protéger la continuité des opérations, la géo-récupération d’urgence réplique la configuration de l’espace de noms principal dans l’espace de noms secondaire. Il ne réplique pas les données d’événement, ni les affectations RBAC Microsoft Entra que vous utilisez pour votre espace de noms principal. Pour plus d’informations, consultez Fédération multisite et multirégion.

Règles de pare-feu IP

Vous pouvez utiliser des règles de pare-feu IP pour contrôler l’accès aux espaces de noms. Lorsque vous isolez des locataires au niveau de l’espace de noms, vous pouvez configurer les espaces de noms pour qu’ils acceptent uniquement les connexions des clients provenant d’adresses IP ou de plages d’adresses autorisées.

Pour plus d'informations, consultez les pages suivantes :

Majoration automatique pour mise à l’échelle élastique

Les espaces de noms Event Hubs standard prennent en charge la fonctionnalité Auto-inflate, pour augmenter automatiquement le nombre d’unités de débit pendant les périodes de forte demande. L’activation de l’augmentation automatique sur les espaces de noms partagés permet à la plateforme de monter en puissance temporairement (jusqu’à un maximum défini) lorsqu’un ou plusieurs locataires rencontrent des pics de trafic. Cette élasticité contribue à éviter les limitations et les erreurs de service lors de pics de charge soudains, garantissant ainsi la stabilité pour tous les locataires.

La fonction de majoration automatique est particulièrement utile dans les environnements multi-locataires, car elle absorbe les pics de trafic des voisins bruyants en allouant des ressources supplémentaires plutôt qu’en supprimant le trafic. Toutefois, cette augmentation de capacité peut également augmenter les coûts pendant la durée du pic. Pour obtenir de meilleurs résultats, combinez l’augmentation automatique avec les stratégies de limitation pour vous assurer qu’aucun locataire unique ne peut consommer de ressources non liées.

Pour plus d’informations, consultez la rubrique Unités de débit des hubs d’événements à majoration automatique.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

  • Will Velida | Ingénieur client 2, FastTrack pour Azure

Autres contributeurs :

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

Étapes suivantes