Forma correta de balancear a carga de um aplicativo de nó no opsworks

1

Eu tenho uma pilha de Opsworks com dois aplicativos de nó diferentes em execução na mesma camada. Um desses aplicativos precisa ter balanceamento de carga, pois será acessado pelo público em geral, mas o outro é acessado apenas ocasionalmente pelo primeiro, de modo que não é necessário balanceamento de carga.

Pelo que li, parece que, no Opsworks, uma camada é balanceada em carga, em vez de um conjunto definido de instâncias. Opsworks não me deixa criar uma segunda camada node.js na mesma pilha, então eu não posso simplesmente dividir os aplicativos e carregar um deles.

Meus palpites são de que eu não deveria ter esses dois aplicativos na mesma pilha, ou deveria ser balanceamento de carga apenas por ec2, onde acredito que eu poderia definir um ELB para ser executado em um subconjunto de instâncias em uma camada. Estão corretas ou há alguma outra resposta?

    
por Carasel 11.06.2015 / 17:00

1 resposta

0

Se você quiser aproveitar totalmente os recursos do OpsWorks, então sim, conforme declarou, divida os aplicativos em duas pilhas.

Alt opção 1: Você poderia criar uma pilha personalizada se realmente quisesse manter-se na mesma pilha, mas teria que lidar sozinha com o que é feito para você pela camada node.js (isso pode ser feito e com sucesso, mas você pode precisar investir em receitas / receitas de chef personalizadas.

Alt opção 2: sua declaração sobre como gerenciá-los por meio do EC2 manualmente está correta, mas gostaria de acrescentar que você tenta aproveitar várias sub-redes / AZs para facilitar isso em si mesmo. Então:

LBR 1 (App1)     AZ1 (us-east-1a)     AZ2 (us-east-1c)

LBR 2 (App2)     AZ3 (us-east-1d)     AZ4 (us-east-1e)

Proporcionaria uma estrutura tolerante a HA / Fault, permitindo que você equilibrasse a capacidade de configurar sub-redes contra LBRs, mas ainda assim aproveitar os benefícios do OpsWorks.

    
por 25.11.2015 / 00:13