Autoscaling

Aprenda como a tecnologia de Autoscaling funciona na Digibee Integration Platform

O que é Autoscaling

Autoscaling é o processo de ajuste de recursos computacionais de acordo com a carga de trabalho. Os pipelines são escaláveis horizontalmente, o que significa que réplicas podem ser criadas ou removidas dinamicamente, dependendo do número de mensagens (invocações) na fila.

A Digibee Integration Platform monitora continuamente a fila e ajusta o número de réplicas para garantir o uso ideal dos recursos e o processamento eficiente, independentemente do tipo de trigger que gerou as mensagens.

Como Autoscaling funciona

Toda execução de pipeline começa com um trigger. Diferentes tipos de triggers, como Scheduler, Event ou HTTP, possuem comportamentos e critérios de ativação específicos. Esses triggers determinam se uma mensagem será enviada para a fila de execução para processamento ou se deve ser ignorada ou rejeitada.

Algoritmo de Autoscaling

O algoritmo de autoscaling escala os pipelines horizontalmente. A cada 10 segundos, a Plataforma monitora o sistema e pode executar os seguintes comandos:

Activation (de 0 para 1)

  • Se o número mínimo de réplicas estiver configurado como zero, o pipeline pode receber mensagens, mas não terá nenhuma réplica em execução.

  • A primeira réplica é implantada quando a primeira mensagem é recebida, o que pode aumentar a latência.

  • O tempo mínimo de inicialização é de 20 segundos.

  • Uma vez inicializada, a réplica processa a primeira e as próximas mensagens.

A quantidade e o tipo de conectores no pipeline podem impactar o tempo de inicialização.

Scale Up (de 1 para N)

Quando o número de mensagens na fila ultrapassa 70% do total de execuções concorrentes, a Plataforma implanta réplicas adicionais.

Scale Down (de N para 1)

A Plataforma reduz as réplicas quando menos recursos são necessários. O sistema calcula o número de réplicas necessárias com a seguinte fórmula:

Réplicas = ((Taxa de mensagens por segundo * Tempo de resposta em segundos) / Total de execuções concorrentes)

Scale-to-Zero (Cooldown)

Se o mínimo de réplicas for zero e uma única réplica permanecer ociosa por mais de 60 segundos, o pipeline reduz para zero réplicas. Novas réplicas só são implantadas quando chegam novas mensagens.

  • Cooldown Personalizado: É possível configurar um tempo de cooldown entre 60 e 300 segundos nas Configurações Avançadas do pipeline. Esse tempo define quanto o sistema espera antes de reduzir para zero após ficar ocioso.

Autoscaling na Digibee Integration Platform

O processo de autoscaling na Digibee Integration Platform segue as seguintes fases:

Fase 1: Ativação da primeira réplica

  1. O sistema executa um comando de Ativação para criar e iniciar a primeira réplica.

  2. Esse comando aciona o processamento da primeira mensagem da fila.

  3. Os componentes necessários para o processamento do pipeline só são inicializados quando a réplica é implantada, ou seja, quando chegam mensagens.

Como essa etapa pode adicionar latência ao tempo de resposta da primeira mensagem, recomenda-se configurar mínimo de réplicas ≥ 1 em pipelines sensíveis à latência.

Fase 2: Processamento de mensagens

  1. Após a implantação e inicialização da primeira réplica, a Plataforma processa as primeiras mensagens conforme as configurações de concorrência.

  2. Quando novas mensagens chegam:

    • Se houver capacidade disponível, elas são processadas pelos consumidores ativos.

    • Caso contrário, um comando Scale Up inicia uma nova réplica.

O impacto do Scale Up no tempo de resposta é menor, pois ele ocorre apenas quando a fila atinge 70% da capacidade de execução concorrente.

Fórmula da capacidade total de processamento:

Capacidade total = Replicas × Execuções simultâneas por réplica

Fase 3: Redução de réplicas

  • Se houver apenas algumas mensagens na fila, a Plataforma reduz gradualmente o número de réplicas até restar apenas uma.

  • Se essa réplica única permanecer ociosa por mais de 60 segundos, um comando de Cooldown reduz o pipeline para zero réplicas.

  • Novas réplicas só são implantadas quando chegam novas mensagens.

Estratégias de Autoscaling

Existem dois tipos de estratégias de implantação de autoscaling na Digibee Integration Platform: Scale-to-Zero e Always On.

Scale-to-Zero

O pipeline é implantado com autoscaling habilitado e mínimo de zero réplicas. Ele pode receber novas requisições, mas funciona com “zero réplicas”, sem custo até que a primeira mensagem chegue.

Cenário de uso recomendado

Essa estratégia é ideal para workloads que não exigem resposta imediata para a primeira mensagem. Por exemplo, um pipeline que roda apenas uma vez ao dia pode permanecer inativo a maior parte do tempo. Veja outros cenários onde o Scale to zero é aplicável:

  • Pipelines agendados usando trigger Scheduler.

  • Workloads de baixa criticidade, em que a primeira mensagem pode tolerar latência extra.

  • Workloads que buscam maximizar economia de custos durante períodos ociosos.

Always On

O pipeline é implantado com autoscaling habilitado e mínimo de 1 ou mais réplicas. Pelo menos uma réplica está sempre ativa, pronta para processar as primeiras mensagens imediatamente.

Cenário de uso recomendado

Essa estratégia garante respostas rápidas de baixa latência, mesmo em períodos de baixo tráfego. Always On é aplicável nos seguintes cenários:

Substitua um pipeline Large com 1 réplica sem autoscaling por um pipeline Small com autoscaling habilitado, configurado entre 1 e 4 réplicas.

Atualizado

Isto foi útil?