Prácticas recomendadas para usar las métricas de Pub/Sub como indicador de escalamiento

Si usas métricas de Pub/Sub como indicador para realizar un ajuste de escala automático de tu canalización, estas son algunas recomendaciones.

Usa más de un indicador para realizar el ajuste de escala automático en tu canalización

No uses solo métricas de Pub/Sub para realizar un ajuste de escala automático de tu canalización. Esto puede generar situaciones en las que tienes un solo punto de falla para tus decisiones de ajuste de escala automático. En su lugar, usa una combinación de indicadores para activar el ajuste de escala automático. Un ejemplo de un indicador adicional es el nivel de uso de CPU del cliente. Este indicador puede indicar si las tareas del cliente controlan el trabajo y si el escalamiento vertical puede permitir que las tareas del cliente manejen más tareas. 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 basado en indicadores, como el uso de CPU y las métricas de Monitoring. Compute Engine también admite varias métricas y varios indicadores para una mejor confiabilidad.

    Para obtener más información sobre el escalamiento con las 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 la sección Ajusta la escala según el uso de CPU.

  • El ajuste de escala automático horizontal de Pods (HPA) de Google Kubernetes Engine (GKE) admite el ajuste de escala 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 Monitoring para 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 de métricas cuando se producen

No des por sentado que la ausencia de métricas significa que no hay mensajes para procesar. Por ejemplo, si en respuesta a métricas faltantes, reduces las tareas de procesamiento a cero, los mensajes que ya están pendientes o que se publican durante este tiempo no se consumirán. Esto aumenta la latencia de extremo a extremo. Para minimizar la latencia, establece un recuento mínimo de tareas superior a cero a fin de que siempre esté preparado para manejar los mensajes publicados, incluso si las métricas recientes de Pub/Sub indican una cola vacía.

Tanto los escaladores automáticos de GCE como los HPA de GKE están diseñados para mantener el recuento actual de réplicas 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 se sobrecarguen las tareas si se reducen de manera accidental las métricas debido a la falta de métricas.