Control de recursos de aplicaciones cliente con grupos de aplicaciones
Azure Event Hubs permite controlar las cargas de trabajo de streaming de eventos de las aplicaciones cliente que se conectan a Event Hubs mediante grupos de aplicaciones. Para obtener más información, consulte Gobernanza de recursos con grupos de aplicaciones.
Este artículo se explica cómo realizar las siguientes tareas:
- Crear un grupo de aplicaciones
- Habilitar o deshabilitar un grupo de aplicaciones
- Definir límites de umbral y aplicar directivas de limitación a un grupo de aplicaciones
- Validación de la limitación con los registros de diagnóstico
Nota:
El grupo de aplicaciones solo está disponibles actualmente en los niveles premium y dedicado.
Crear un grupo de aplicaciones
En esta sección, se muestra cómo crear un grupo de aplicaciones mediante Azure Portal, la CLI, PowerShell y una plantilla de Azure Resource Manager (ARM).
Puede crear un grupo de aplicaciones mediante Azure Portal siguiendo estos pasos.
Vaya al espacio de nombres de Event Hubs.
En el menú de la izquierda, seleccione Grupos de aplicaciones en Configuración.
En la página Grupos de aplicaciones, seleccione + Grupo de aplicaciones en la barra de comandos.
En la página Agregar grupo de aplicaciones, siga estos pasos:
Especifique un nombre para la aplicación.
Confirme que esté seleccionado el campo Habilitado. Para que el grupo de aplicaciones esté primero en estado deshabilitado, desactive la opción Habilitado. Esta marca determina si los clientes de un grupo de aplicaciones pueden acceder a Event Hubs o no.
En Tipo de contexto de seguridad, seleccione Directiva de acceso compartido del espacio de nombres, Directiva de acceso compartido del centro de eventos o Aplicación de Microsoft Entra. El grupo de aplicaciones admite la selección de la clave SAS en el nivel de espacio de nombres o de entidad (centro de eventos). Al crear el grupo de aplicaciones, debe asociarlo a una firma de acceso compartido (SAS) o a un identificador de aplicación de Microsoft Entra, el cual utilizan las aplicaciones cliente.
Si ha seleccionado Directiva de acceso compartido del espacio de nombres:
En Nombre de la clave SAS, seleccione la directiva de SAS que se puede usar como contexto de seguridad para este grupo de aplicaciones. Puede seleccionar Agregar directiva SAS para agregar una nueva directiva y, a continuación, asociarla al grupo de aplicaciones.
Si ha seleccionado Directiva de acceso compartido de Event Hubs:
En Nombre de la clave SAS, copie el nombre de la directiva SAS desde la página "Directivas de acceso compartido" de Event Hubs y péguelo en el cuadro de texto.
Si seleccionó aplicación de Microsoft Entra:
- Para id. de aplicación de Microsoft Entra (cliente), especifique la aplicación o el identificador de cliente de Microsoft Entra.
Tipo de contexto de seguridad admitido
Revise el identificador de grupo de cliente generado automáticamente, que es el identificador único asociado al grupo de aplicaciones. El ámbito de gobernanza de aplicaciones (nivel de espacio de nombres o entidad) dependerá del nivel de acceso del identificador de aplicación de Microsoft Entra que se haya usado. En la tabla siguiente se muestra el identificador de grupo de clientes generado automáticamente para distintos tipos de contexto de seguridad:
Tipo de contexto de seguridad | Identificador de grupo de clientes generado automáticamente |
---|---|
Clave de acceso compartido del espacio de nombres | NamespaceSASKeyName=<NamespaceLevelKeyName> |
Aplicación de Microsoft Entra | AADAppID=<AppID> |
Clave de acceso compartido de Event Hubs | EntitySASKeyName=<EntityLevelKeyName> |
Nota:
Todos los grupos de aplicaciones existentes creados con la clave de acceso compartido del espacio de nombres seguirán funcionando con el identificador de grupo de clientes a partir de SASKeyName
. Sin embargo, en todos los grupos de aplicaciones nuevos se actualizaría el identificador de grupo de cliente, como se muestra anteriormente.
Para agregar una directiva, siga estos pasos:
Escriba un nombre para la directiva.
En Type (Tipo), seleccione Throttling policy (Directiva de limitación).
En Metric ID (Identificador de métrica), seleccione una de las siguientes opciones: Incoming messages (Mensajes entrantes), Outgoing messages (Mensajes salientes), Incoming bytes (Bytes entrantes) o Outgoing bytes (Bytes salientes). En el ejemplo siguiente, se ha seleccionado Incoming messages (Mensajes entrantes).
En Rate limit threshold (Umbral de límite de frecuencia), escriba el valor del umbral. En el ejemplo siguiente, se especifica 10000 como el umbral del número de mensajes entrantes.
Esta es una captura de pantalla de la página con otra directiva agregada.
Ahora, en la página Agregar grupo de aplicaciones, seleccione Agregar.
Confirme que aparece el grupo de aplicaciones en la lista de grupos de aplicaciones.
Para eliminar el grupo de aplicaciones de la lista, seleccione el botón con el icono de papelera situado junto a él en la lista.
Habilitar o deshabilitar un grupo de aplicaciones
Para impedir que una aplicación cliente acceda al espacio de nombres de Event Hubs, deshabilite el grupo de aplicaciones que contenga esa aplicación. Cuando un grupo de aplicaciones se deshabilita, las aplicaciones cliente no podrán publicar ni consumir datos. Las conexiones establecidas de las aplicaciones cliente de ese grupo de aplicaciones también finalizarán.
En esta sección, se muestra cómo habilitar o deshabilitar un grupo de aplicaciones mediante Azure Portal, PowerShell, la CLI y una plantilla de ARM.
En la página Espacio de nombres de Event Hubs, seleccione Grupos de aplicaciones en el menú de la izquierda.
Seleccione el grupo de aplicaciones que quiere habilitar o deshabilitar.
En la página Edit application group (Editar grupo de aplicaciones), desactive la casilla situada junto a Enabled (Habilitado) para deshabilitar un grupo de aplicaciones y, a continuación, seleccione Update (Actualizar) en la parte inferior de la página. De forma similar, active la casilla para habilitar un grupo de aplicaciones.
Aplicación de directivas de limitación
Puede agregar cero o más directivas al crear un grupo de aplicaciones o a un grupo de aplicaciones ya existente. Por ejemplo, puede agregar directivas de limitación relacionadas con IncomingMessages
, con IncomingBytes
o con OutgoingBytes
a contosoAppGroup
. Estas directivas se aplicarán a las cargas de trabajo de streaming de eventos de las aplicaciones cliente que usen la directiva SAS contososaspolicy
.
Para obtener información sobre cómo agregar directivas al crear un grupo de aplicaciones, consulte la sección Creación de un grupo de aplicaciones.
También puede agregar directivas después de crear un grupo de aplicaciones.
En la página Espacio de nombres de Event Hubs, seleccione Grupos de aplicaciones en el menú de la izquierda.
Seleccione el grupo de aplicaciones para el que desea agregar, actualizar o eliminar una directiva.
En la página Edit application group (Editar grupo de aplicaciones), puede realizar los pasos siguientes:
- Actualizar la configuración (incluidos los valores de umbral) de las directivas existentes
- Agregar una nueva directiva
Decidir el valor de umbral para las directivas de limitación
Azure Event Hubs admite la funcionalidad Registros de métricas de aplicaciones para observar el rendimiento habitual del sistema y, en consecuencia, decidir el valor de umbral del grupo de aplicaciones. Puede seguir estos pasos para decidir un valor de umbral:
Active la configuración de diagnóstico en Event Hubs con los registros de métricas de aplicaciones como categoría seleccionada y elija Log Analytics como destino.
Cree un grupo de aplicaciones vacío sin ninguna directiva de limitación.
Siga enviando mensajes o eventos al centro de eventos con el rendimiento habitual.
Vaya al área de trabajo de Log Analytics y consulte el nombre de actividad correcto (en función de (resource-governance-overview.md#throttling-policy---threshold-limits)) en la tabla AzureDiagnostics. La consulta de ejemplo siguiente se establece para realizar un seguimiento del valor de umbral de los mensajes entrantes:
AzureDiagnostics | where ActivityName_s =="IncomingMessages" | where Outcome_s =="Success"
Seleccione la sección Gráfico en el área de trabajo de Log Analytics y trace un gráfico entre el tiempo generado en el eje Y así como el recuento de mensajes enviados en el eje X.
En este ejemplo, puede ver que el rendimiento habitual nunca superó los 550 mensajes (rendimiento actual esperado). Esta observación le ayuda a definir el valor de umbral real.
Una vez que decida el valor de umbral, agregue una nueva directiva de limitación en el grupo de aplicaciones.
Publicación o consumo de eventos
Tras agregar correctamente directivas de limitación al grupo de aplicaciones, puede probar el comportamiento de limitación mediante la publicación o el consumo de eventos en los que se usen aplicaciones cliente que formen parte del grupo de aplicaciones contosoAppGroup
. Para probarlo, puede usar un cliente AMQP o una aplicación cliente de Kafka y el mismo nombre de directiva SAS o identificador de aplicación de Microsoft Entra que usó para crear el grupo de aplicaciones.
Nota:
Cuando las aplicaciones cliente están limitadas, lo normal es experimentar una mayor lentitud en la publicación o consumo de datos.
Validación de la limitación con los grupos de aplicaciones
Puede usar los registros de métricas de aplicaciones para validar la limitación y encontrar más detalles de forma similar a lo indicado en la sección sobre la elección de los límites de umbral para las directivas de limitación.
Puede usar la consulta de ejemplo siguiente para conocer todas las solicitudes limitadas en un período de tiempo determinado. Debe actualizar ActivityName para que coincida con la operación que espera que se limite.
AzureDiagnostics
| where Category =="ApplicationMetricsLogs"
| where ActivityName_s =="IncomingMessages"
| where Outcome_s =="Throttled"
Debido a restricciones en el nivel de protocolo, los registros de solicitudes limitadas no se generan para las operaciones de consumidor del centro de eventos (OutgoingMessages
o OutgoingBytes
). Cuando las solicitudes se limiten en el lado del consumidor, observará un rendimiento de salida lento.
Pasos siguientes
- Para obtener información sobre conceptos relativos a los grupos de aplicaciones, consulte Gobernanza de recursos con grupos de aplicaciones.
- Consulte la referencia de Azure PowerShell para Event Hubs.
- Consulte la referencia de la CLI de Azure para Event Hubs.