Governança de recursos com grupos de aplicativos
Os Hubs de Eventos do Azure permitem que você controle cargas de trabalho de streaming de eventos de aplicativos cliente que se conectam a Hubs de Eventos. Você pode criar grupos lógicos conhecidos como grupos de aplicativos em que cada grupo é uma coleção de aplicativos cliente e, em seguida, aplicar políticas de gerenciamento de cota e acesso para um grupo de aplicativos (grupo de aplicativos cliente).
Nota
Os grupos de aplicativos estão disponíveis apenas em níveis premium e dedicado .
Grupos de aplicações
Um grupo de aplicativos é uma coleção de um ou mais aplicativos cliente que interagem com o plano de dados dos Hubs de Eventos. Cada grupo de aplicativos pode ter um escopo para um único namespace de Hubs de Eventos ou hubs de eventos (entidade) dentro de um namespace e deve usar uma condição de identificação exclusiva, como o contexto de segurança - assinaturas de acesso compartilhado (SAS) ou ID do aplicativo Microsoft Entra - do aplicativo cliente.
Atualmente, os Hubs de Eventos oferecem suporte ao uso de contextos de segurança para a criação de grupos de aplicativos. Portanto, cada grupo de aplicativos deve ter uma política SAS exclusiva ou uma ID de aplicativo Microsoft Entra associada a eles. Se preferir, você pode usar o contexto de segurança no nível do hub de eventos para usar um grupo de aplicativos com um hub de eventos específico dentro de um namespace.
Os grupos de aplicativos são entidades lógicas criadas no nível do namespace. Portanto, os aplicativos cliente que interagem com hubs de eventos não precisam estar cientes da existência de um grupo de aplicativos. Os Hubs de Eventos podem associar qualquer aplicativo cliente a um grupo de aplicativos usando a condição de identificação.
Como ilustrado abaixo, você pode criar grupos de aplicativos com base no contexto de segurança usado por cada aplicativo cliente. Portanto, os grupos de aplicativos podem se estender por vários aplicativos cliente usando o mesmo contexto de segurança.
Os grupos de aplicativos não têm associação direta com um grupo de consumidores. Dependendo do identificador do grupo de aplicativos, como o contexto de segurança, um grupo de consumidores pode ter um ou mais grupos de aplicativos associados a ele ou um grupo de aplicativos pode abranger vários grupos de consumidores.
Estes são os principais atributos de um grupo de aplicativos:
Parâmetro | Description |
---|---|
nome | Nome exclusivo de um grupo de aplicativos. |
clientAppGroupIdentifier | Associe um grupo de aplicativos a uma condição de identificação exclusiva (ou seja, contexto de segurança, como política SAS ou ID do aplicativo Microsoft Entra). |
políticas | Lista de políticas, como políticas de limitação que controlam o streaming de eventos entre aplicativos cliente e o namespace Hubs de Eventos |
isEnabled | Determine se os aplicativos cliente de um grupo de aplicativos podem acessar namespaces de Hubs de Eventos ou não. |
Políticas de grupo de aplicativos
Cada grupo de aplicativos pode conter zero ou mais políticas que controlam o acesso ao plano de dados dos aplicativos cliente que fazem parte do grupo de aplicativos. Atualmente, os grupos de aplicativos oferecem suporte a políticas de limitação.
Políticas de limitação
Você pode ter políticas de limitação especificadas usando diferentes métricas de entrada e saída. Os grupos de aplicativos oferecem suporte ao uso das métricas a seguir para limitar as cargas de trabalho de entrada ou saída de aplicativos cliente.
Parâmetro | Description |
---|---|
IncomingBytes | Taxa de transferência do editor em bytes por segundo. |
OutgoingBytes | Taxa de transferência do consumidor em bytes por segundo. |
Mensagens recebidas | Número de eventos publicados por segundo. |
Mensagens de Saída | Número de eventos consumidos por segundo. |
Quando as políticas para grupos de aplicativos são aplicadas, a carga de trabalho do aplicativo cliente pode diminuir a velocidade ou encontrar exceções de ocupado do servidor.
Política de limitação - limites de limite
A tabela a seguir mostra os limites mínimos que você pode definir para diferentes IDs de métricas na política de limitação:
ID da métrica | Limite mínimo |
---|---|
IncomingByte | 1 KB |
OutgoingByte | 1 KB |
IncomingMessage | 5 |
Mensagem de saída | 5 |
Nota
Os limites definidos no valor limite da política de limitação teriam precedência sobre qualquer valor definido para as propriedades do tópico Kafka. Por exemplo, IncomingBytes
teria maior prioridade sobre message.max.bytes
.
Espera-se que a limitação do grupo de aplicativos acelere cenários de tráfego consistentes acima do permitido (abrangendo alguns minutos). Explosões rápidas no tráfego por alguns segundos podem não ser limitadas por meio de Grupos de Aplicativos. Observar a taxa de transferência permitida ao longo do horizonte de tempo de poucos minutos é uma abordagem recomendada para validar a limitação.
Suporte de protocolo e códigos de erro
O grupo de aplicativos suporta operações de limitação que acontecem por meio dos seguintes protocolos – AMQP, Kafka e HTTP. A tabela a seguir fornece os códigos de erro esperados retornados por grupos de aplicativos:
Protocolo | Operação | Código de erro | Error message |
---|---|---|---|
AMQP | Enviar | 50004 | Subcódigo:50013, O grupo de aplicativos é limitado com o ID do grupo de aplicativos & nome da política |
HTTP | Enviar | 503 | Subcódigo: 50013. O grupo de aplicativos é limitado com a ID do grupo de aplicativos e o nome da política |
Kafka | Enviar | PolicyViolation | Corretor: violação da política |
Devido a restrições no nível do protocolo, as mensagens de erro não são suportadas durante a operação de recebimento. Quando os grupos de aplicativos estão limitando as operações de recebimento, você experimentará um consumo lento de mensagens no lado do consumidor.
Desativando grupos de aplicativos
O grupo de aplicativos é habilitado por padrão e isso significa que todos os aplicativos cliente podem acessar o namespace Hubs de Eventos para publicar e consumir eventos aderindo às políticas de grupo de aplicativos.
Quando um grupo de aplicativos é desabilitado, o cliente ainda poderá se conectar ao hub de eventos, mas a autorização falhará e, em seguida, a conexão do cliente será fechada. Portanto, você verá muitas conexões abertas e fechadas bem-sucedidas, com o mesmo número de falhas de autorização nos logs de diagnóstico.
Próximos passos
Para obter instruções sobre como criar e gerenciar grupos de aplicativos, consulte Governança de recursos para aplicativos cliente usando o portal do Azure