Práticas recomendadas para usar métricas do Pub/Sub como um indicador de escalonamento

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. Ela pode levar a cenários em que há um ponto único de falha nos seus decisões de escalonamento automático. Em vez disso, use uma combinação de indicadores escalonamento automático. Um exemplo de indicador adicional é a CPU do cliente, e nível de utilização. 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. Alguns exemplos de indicadores Os produtos do Cloud que podem ser usados para seu pipeline são os seguintes:

  • 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 diversas métricas e indicadores. para melhorar a confiabilidade.

    Para mais informações sobre escalonamento com métricas do Monitoring, consulte Escalone com base nas métricas do Monitoring. Para mais informações sobre escalonamento com utilização de CPU, consulte Escalonamento com base na utilização de CPU.

  • O escalonamento automático horizontal de pods (HPA) do Google Kubernetes Engine (GKE) oferece suporte escalonamento automático com base no uso de recursos, como uso de CPU e memória, métricas personalizadas do Kubernetes e métricas externas, como Métricas de monitoramento para o 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 ocorrerem

Não presuma que a ausência de métricas significa que não há mensagens para de desenvolvimento de software. Por exemplo, se, em resposta a métricas ausentes, você reduzir escala vertical vertical tarefas de processamento para zero, mensagens que já estão no backlog ou que foram publicadas durante esse período podem não ser consumidos. 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ê estão sempre preparados para lidar com mensagens publicadas, mesmo que as métricas recentes do Pub/Sub indiquem uma fila vazia.

Tanto os escalonadores automáticos do GCE quanto os HPAs do GKE foram projetados para manter o a contagem de réplicas quando as métricas não estão disponí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.