Autoscalling
Aprenda sobre os conceitos básicos desta tecnologia serverless na Digibee Integration Platform
Atualizado
Isto foi útil?
Aprenda sobre os conceitos básicos desta tecnologia serverless na Digibee Integration Platform
Atualizado
Isto foi útil?
Esta documentação é exclusiva para clientes que utilizam o Modelo Baseado em Consumo e podem não ser aplicáveis ao seu realm.
O Autoscaling é o processo de ajustar o número de recursos computacionais de acordo com a carga de trabalho. As implantações de pipelines são escaláveis horizontalmente, o que significa que o recurso de Auto scaling permite que réplicas sejam implantadas e removidas dinamicamente conforme o número de mensagens (invocações) na fila.
A Digibee Integration Platform monitora continuamente a fila e ajusta dinamicamente o número de réplicas para garantir uma utilização ideal dos recursos e um processamento eficiente, independentemente de qual trigger gerou as mensagens.
Toda execução de pipeline começa com o Trigger. Diferentes tipos de triggers, como Scheduler, Event ou HTTP triggers, possuem comportamentos e critérios de ativação exclusivos. Esses triggers determinam se uma mensagem será enviada para a fila de execução para processamento posterior ou se deve ser ignorada ou rejeitada completamente.
O algoritmo implementado escala os pipelines horizontalmente. A cada 10 segundos, a Digibee Integration Platform verifica e pode enviar dois dos comandos abaixo:
Ativação: Se o número mínimo de réplicas estiver configurado como zero, o pipeline ficará ativo para receber novas mensagens, mas com zero réplicas em execução. A Plataforma Digibee implantará a primeira réplica quando a fila receber a primeira mensagem. Uma nova réplica será implantada e atribuída para processar esta e as mensagens subsequentes. Se a réplica mínima for zero, a primeira réplica será implantada apenas quando a primeira mensagem chegar à fila.
Escala para cima (Scale up): Se o número de mensagens na fila de execução for superior a 70% do número total de execuções simultâneas das réplicas em execução, a plataforma implantará um novo conjunto de réplicas.
Escala para baixo (Scale down): O sistema calcula o número de réplicas necessárias para lidar com as solicitações recebidas, dividindo a carga total (taxa de mensagens * tempo de resposta do pipeline) pelo número de execuções simultâneas que todas as réplicas podem lidar. O cálculo é feito usando a fórmula abaixo:
Fórmula: Réplicas = ((Taxa de mensagens por segundo * Tempo de resposta em segundos) / Total de Execuções Simultâneas)
Escalar para Zero (Scale to Zero): Se o número mínimo de réplicas for igual a zero e houver apenas uma réplica em execução, ociosa por mais de 60 segundos, o pipeline será escalado para zero e será reativado quando a próxima mensagem chegar à fila.
A implantação do pipeline inicia sem nenhuma réplica em execução.
Quando a primeira mensagem chegar na fila, a primeira réplica será alocada. Ou seja, a primeira mensagem precisará aguardar a inicialização da primeira réplica para executar. Caso a única réplica em execução fique ociosa por mais que 60 segundos, o pipeline será escalado para zero réplicas, a qual será inicializada apenas quando uma nova mensagem chegar na fila.
A implantação do pipeline faz com que sempre haja pelo menos 1 réplica em execução.
Quando o volume de mensagens na fila atingir 70% da capacidade total de execução (execuções simultâneas × réplicas), novas réplicas são alocadas. Ou seja, se um pipeline small possui 1 réplica em execução, sua capacidade é 10. Ao atingir 7 ou mais mensagens na fila, réplicas adicionais serão alocadas.