Escalonamento automático pelos resultados da solicitação HTTP

1

Estou executando um aplicativo na nuvem com demanda bastante elástica e preciso usar o escalonamento automático.

O aplicativo usa um sistema de pub / sub para receber e processar solicitações de trabalho. Cada servidor se inscreve em uma fila e seleciona os trabalhos dessa fila um a um até que a fila esteja vazia.

Gostaria de poder ver a duração da fila (quantos trabalhos estão atualmente enfileirados) e criar uma política nos moldes de:

"Se o comprimento da fila for maior do que X, aumente o tamanho. Se o comprimento da fila for 0 (e tiver sido por um período de tempo especificado) diminua a escala.

O comprimento da fila pode ser encontrado por meio de uma solicitação HTTP para o servidor. O aplicativo tem um endpoint que descreve cada fila e seu comprimento atual em um formato JSON.

Eu tenho procurado por um serviço / aplicativo que pode fazer isso, mas não encontrei muito. Eu meio que tenho a sensação de que vou precisar codificar. Pensei em perguntar aqui primeiro, caso alguém soubesse de uma solução.

Pergunte: esse é um problema que as pessoas enfrentaram no passado? Parece que políticas de escala específicas como essa são bastante comuns. Se eu for a rota de desenvolvimento, o open-sourcing será útil?

    
por jmkmay 26.06.2018 / 16:40

0 respostas