Partager via


Gouvernance des ressources avec des groupes d’applications

Azure Event Hubs vous permet de régir les charges de travail de diffusion en continu d’événements pour les applications clientes qui se connectent à Event Hubs. Vous pouvez créer des groupes logiques appelés groupes d’applications où chaque groupe est une collection d’applications clientes, puis appliquer des stratégies de gestion des quotas et des accès pour un groupe d’applications (groupe d’applications clientes).

Notes

Les groupes d’applications sont actuellement disponibles uniquement avec les niveaux Premium et Dédié.

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. Chaque groupe d’applications peut être étendu à un espace de noms Event Hubs ou à des hubs d’événements (entité) dans un espace de noms, et doit utiliser une condition d’identification unique, telle que le contexte de sécurité, les signatures d’accès partagé (SAP) ou l’identification d’application Microsoft Entra de l’application cliente.

Event Hubs prend actuellement en charge l’utilisation de contextes de sécurité pour la création de groupes d’applications. Par conséquent, chaque groupe d’applications doit avoir une stratégie SAS unique ou une identification d’application Microsoft Entra associé. Si vous préférez, vous pouvez utiliser un contexte de sécurité au niveau du hub d’événements pour utiliser un groupe d’applications avec un hub d’événements spécifique au sein d’un espace de noms.

Les groupes d’applications sont des entités logiques créées au niveau de l’espace de noms. Par conséquent, les applications clientes qui interagissent avec les hubs d’événements n’ont pas besoin de connaître l’existence d’un groupe d’applications. Event Hubs peut associer n’importe quelle application cliente à un groupe d’applications à l’aide de la condition d’identification.

Comme illustré ci-dessous, vous pouvez créer des groupes d’applications en fonction du contexte de sécurité utilisé par chaque application cliente. Par conséquent, les groupes d’applications peuvent s’étendre sur plusieurs applications clientes à l’aide du même contexte de sécurité.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage.

Les groupes d’applications n’ont aucune association directe avec un groupe de consommateurs. Selon l’identificateur de groupe d’applications tel que le contexte de sécurité, un groupe de consommateurs peut avoir un ou plusieurs groupes d’applications associés à celui-ci ou un groupe d’applications peut s’étendre sur plusieurs groupes de consommateurs.

Voici les attributs clés d’un groupe d’applications :

Paramètre Description
name Nom unique d’un groupe d’applications.
clientAppGroupIdentifier Associez un groupe d’applications à une condition d’identification unique (c’est-à-dire un contexte de sécurité tel que la stratégie SAP ou l’identification d’application Microsoft Entra).
stratégies Liste des stratégies, telles que les stratégies de limitation qui contrôlent la diffusion en continu d’événements entre les applications clientes et l’espace de noms Event Hubs
isEnabled Déterminez si les applications clientes d’un groupe d’applications peuvent accéder aux espaces de noms Event Hubs ou non.

Stratégies de groupe d’applications

Chaque groupe d’applications peut contenir zéro ou plusieurs stratégies qui contrôlent l’accès au plan de données des applications clientes qui font partie du groupe d’applications. Les groupes d’applications prennent actuellement en charge les stratégies de limitation.

Stratégies de limitation

Vous pouvez avoir des stratégies de limitation spécifiées à l’aide de métriques d’entrée et de sortie différentes. Les groupes d’applications prennent en charge l’utilisation des métriques suivantes pour limiter les charges de travail d’entrée ou de sortie des applications clientes.

Paramètre Description
IncomingBytes Débit du serveur de publication en octets par seconde.
OutgoingBytes Débit du serveur consommateur en octets par seconde.
IncomingMessages Nombre d'événements publiés par seconde.
OutgoingMessages Nombre d'événements consommés par seconde.

Lorsque des stratégies pour les groupes d’applications sont appliquées, la charge de travail de l’application cliente peut ralentir ou rencontrer des exceptions indiquant que le serveur est occupé.

Stratégie de limitation - Limites de seuil

Le tableau suivant montre les limites de seuil minimales que vous pouvez définir pour un ID de métrique différent dans la stratégie de limitation :

ID de la métrique Limite minimale
IncomingByte 1 Ko
OutgoingByte 1 Ko
IncomingMessage 1
OutgoingMessage 1

Notes

Les limites définies sur la valeur de seuil de la stratégie de limitation sont prioritaires sur n’importe quel ensemble de valeurs pour les propriétés de rubriques Kafka. Par exemple, IncomingBytes aurait la priorité sur message.max.bytes.
La limitation des groupes d’applications est censée limiter la cohérence plus élevée que les scénarios de trafic autorisés (s’étendant sur quelques minutes). Les rafales rapides du trafic pendant quelques secondes peuvent ne pas être limitées via les groupes d’applications. Il est recommandé d’examiner le débit autorisé sur l’horizon de quelques minutes pour valider la limitation.

Prise en charge du protocole et codes d’erreur

Le groupe d’applications prend en charge les opérations de limitation qui se produisent via les protocoles suivants : AMQP, Kafka et HTTP. Le tableau suivant fournit les codes d’erreur attendus retournés par les groupes d’applications :

Protocol Opération Code d'erreur Message d’erreur
AMQP Envoyer 50004 Sous-code :50013, Le groupe d’applications est limité avec l’ID de groupe d’applications et le nom de la stratégie
HTTP Envoyer 503 Subcode: 50013. Le groupe d’applications est limité avec l’ID de groupe d’applications et le nom de stratégie
Kafka Envoyer PolicyViolation Répartiteur : violation de stratégie

En raison de restrictions au niveau du protocole, les messages d’erreur ne sont pas pris en charge pendant l’opération de réception. Lorsque les groupes d’applications sont limités aux opérations de réception, la consommation des messages est lente côté consommateur.

Désactivation des groupes d’applications

Le groupe d’applications est activé par défaut et cela signifie que toutes les applications clientes peuvent accéder à l’espace de noms Event Hubs pour la publication et la consommation d’événements en respectant les stratégies du groupe d’applications.

Quand un groupe d’applications est désactivé, le client peut toujours se connecter au hub d’événements, mais l’autorisation échoue, puis la connexion cliente est fermée. Par conséquent, vous verrez beaucoup de connexions ouvertes et fermées réussies, avec le même nombre d’échecs d’autorisation dans les journaux de diagnostic.

Étapes suivantes

Pour obtenir des instructions sur la création et la gestion des groupes d’applications, consultez Gestion des ressources pour les applications clientes à l’aide du Portail Azure