Autoscaling com Nodejs no Google Compute Engine

1

Estou tentando fazer com que meu material de back-end esteja funcionando, e estou procurando a melhor maneira de economizar dinheiro; meu aplicativo faz solicitação de API normalmente entre 8:30 e 8:30 da noite, com a manhã, almoço e noite tendo picos enormes.

O que planejei fazer é configurar o grupo de instâncias de escalonamento automático no mecanismo de cálculo do google, mas tive problemas ao configurá-lo.

Primeiro, eu configuro com o nginx em uma instância, e várias cópias da minha vm carregam tudo, mas isso não me ajuda nos horários de pico, além de economizar dinheiro.

Então eu olhei para o escalonamento automático, o problema que tenho é que minha VM usa contêineres docker, com três contêineres em execução, um para o nginx, um para o couchdb e outro para alguns outros contextos.

O que tentei fazer é criar uma instância-001 que tenha o trabalho base, todos os arquivos, bancos de dados e tudo mais. Uma vez que atinge 70% de carga, ele se duplicará e, em seguida, carregará o equilíbrio entre os dois.

A questão é que eu não consigo manter os dados e criar uma cópia. Depois de configurar uma instância e trabalhar (instance-001), eu a acertei com algumas cargas, forçando acima de 70%, e então girei mais duas instâncias, 002 e 003, ambas limpas vms vazias, e então uma vez ficou abaixo de 70%, e as VMs foram removidas, 001, com os dados reais removidos e 003 sobrando.

A partir de agora, não sei como configurá-lo para dimensionar e balancear a carga.

As VMs eram apenas máquinas 3G de 1CPU com um ssd de 10 GB para testes, e eu estava seguindo o link

É um pouco desatualizado, já que antes ele permitia que você carregasse a partir de instantâneos, o que é como eu fiz isso antes, agora não.

A minha maior diferença é qual é a melhor configuração de estilo de produção para escalar um estilo couchdb.

    
por Anthony Taylor 18.04.2016 / 05:11

1 resposta

1

Para adicionar visibilidade postando uma resposta com base nos comentários de Faizan.

Conforme descrito nos primeiros 2 minutos deste vídeo , o serviço de back-end pode ser escalonado automaticamente de maneira semelhante como o frontend. O requisito para isso é que o backend deve ser ¨stateless¨ (o banco de dados não pode viver no grupo gerenciado da instância que conformam o backend).

Os detalhes podem ser encontrados aqui para o autoescalador e este artigo adicional para o design.

    
por 23.03.2017 / 20:07