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

Se você usar as métricas do Pub/Sub como um sinal para fazer o escalonamento automático aqui estão algumas recomendações.

Usar mais de um sinal para escalonar automaticamente seu pipeline

Não use apenas métricas do Pub/Sub para escalonar automaticamente seu 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 lidar com o trabalho e se o escalonamento vertical pode deixar as tarefas do cliente cuidarem mais do 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 para escalonamento automático com base em sinais 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 fornece uma rede de segurança caso estão disponíveis.

Também é possível implementar Mecanismos de controle de fluxo do Pub/Sub para ajudar a evitar que as tarefas sejam sobrecarregadas caso sejam acidentalmente devido à ausência de métricas.