Se você usa as métricas do Pub/Sub como um indicador para escalonar automaticamente seu pipeline, confira algumas recomendações.
Usar mais de um indicador para escalonar automaticamente o pipeline
Não use apenas as métricas do Pub/Sub para escalonar automaticamente o pipeline. Isso pode levar a cenários em que você tem um ponto único de falha para suas decisões de escalonamento automático. Em vez disso, use uma combinação de indicadores para acionar a autoescalonamento. Um exemplo de indicador adicional é o nível de uso da CPU do cliente. Esse indicador pode indicar se as tarefas do cliente estão processando o trabalho e se o escalonamento pode permitir que elas processem mais trabalho. Confira alguns exemplos de indicadores de outros produtos do Cloud que podem ser usados no seu pipeline:
O Compute Engine (GCE) oferece suporte ao escalonamento automático com base em indicadores, como utilização da CPU e métricas do Monitoring. O Compute Engine também oferece suporte a várias métricas e vários indicadores para maior confiabilidade.
Para mais informações sobre o escalonamento com métricas do Monitoring, consulte Escalonamento com base nas métricas do Monitoring. Para mais informações sobre o escalonamento com base na utilização da CPU, consulte Escalonamento baseado na utilização da CPU.
O escalonamento automático horizontal de pods (HPA) do Google Kubernetes Engine (GKE) oferece suporte ao escalonamento automático com base no uso de recursos, como o uso da CPU e da memória, métricas personalizadas do Kubernetes e métricas externas, como métricas de monitoramento do Pub/Sub. Ele também oferece suporte a vários sinais.
Para mais informações, consulte Escalonamento automático horizontal de pods.
Como lidar com lacunas de métricas quando elas ocorrem
Não suponha que a ausência de métricas significa que não há mensagens para processar. Por exemplo, se, em resposta a métricas ausentes, você reduzir escala vertical as tarefas de processamento a zero, as mensagens que já estão no backlog ou que são publicadas durante esse período podem não ser consumidas. Isso aumenta a latência de ponta a ponta. Para minimizar a latência, defina uma contagem mínima de tarefas maior que zero para que você esteja sempre preparado para processar mensagens publicadas, mesmo que as métricas recentes do Pub/Sub indiquem uma fila vazia.
Os escalonadores automáticos do GCE e os HPAs do GKE foram projetados para manter a contagem de réplicas atual quando as métricas estão indisponíveis. Isso oferece uma rede de segurança se nenhuma métrica estiver disponível.
Também é possível implementar mecanismos de controle de fluxo do Pub/Sub para evitar que as tarefas sejam sobrecarregadas se forem reduzidas involuntariamente devido à falta de métricas.