Si usas métricas de Pub/Sub como indicador para ajustar la escala de tu canalización automáticamente, ten en cuenta las siguientes recomendaciones.
Usa más de un indicador para ajustar la escala de tu canalización automáticamente
No uses solo las métricas de Pub/Sub para ajustar la escala de tu canalización automáticamente. Esto podría generar situaciones en las que tengas un punto único de fallo para tus decisiones de escalamiento automático. En su lugar, usa una combinación de indicadores para activar la escalamiento automático. Un ejemplo de un indicador adicional es el nivel de uso de la CPU del cliente. Este indicador puede indicar si las tareas del cliente están manejando el trabajo y si el escalamiento puede permitir que las tareas del cliente manejen más trabajo. Estos son algunos ejemplos de indicadores de otros productos de Cloud que puedes usar para tu canalización:
Compute Engine (GCE) admite el ajuste de escala automático en función de indicadores como el uso de CPU y las métricas de Monitoring. Compute Engine también admite varias métricas y varios indicadores para mejorar la confiabilidad.
Para obtener más información sobre el escalamiento con métricas de Monitoring, consulta Ajusta la escala en función de las métricas de Monitoring. Para obtener más información sobre el escalamiento con el uso de CPU, consulta Escala según el uso de CPU.
El ajuste automático de escala horizontal de pods (HPA) de Google Kubernetes Engine (GKE) admite el escalamiento automático basado en el uso de recursos, como el uso de CPU y memoria, las métricas personalizadas de Kubernetes y las métricas externas, como las métricas de supervisión de Pub/Sub. También admite varios indicadores.
Para obtener más información, consulta Ajuste de escala automático horizontal de Pods.
Cómo abordar las brechas en las métricas cuando ocurren
No asumas que la ausencia de métricas significa que no hay mensajes para procesar. Por ejemplo, si, en respuesta a las métricas faltantes, reduces las tareas de procesamiento a cero, es posible que no se consuman los mensajes que ya están en la lista de tareas pendientes o que se publican durante este tiempo. Esto aumenta la latencia de extremo a extremo. Para minimizar la latencia, establece un recuento mínimo de tareas superior a cero para que siempre estés preparado para controlar los mensajes publicados, incluso si las métricas recientes de Pub/Sub indican una cola vacía.
Tanto los ajustadores de escala de GCE como los HPA de GKE están diseñados para mantener el recuento de réplicas actual cuando las métricas no están disponibles. Esto proporciona una red de seguridad si no hay métricas disponibles.
También puedes implementar mecanismos de control de flujo de Pub/Sub para evitar que las tareas se vean sobrecargadas si se reducen de forma no intencional debido a que faltan métricas.