Dimensionamento de um aplicativo
-
05-07-2019 - |
Pergunta
Eu tenho um aplicativo (um serviço de conferência IP) que eu preciso para escala. Ele tem alguns componentes / aplicações independentes, escritos em diferentes línguas (principalmente C ++ e PHP, alguns Perl). Atualmente uma única instalação é executado em 5 máquinas, com 1-2 componentes compartilhando uma única caixa. A configuração de cada caixa, portanto, é diferente, por isso é uma dor para escalar a coisa toda, não para manutenção menção.
Os componentes individuais variam de proxies de mídia para proxies de mensagens e bases de dados, de modo que a carga é tudo, mas mesmo.
Eu estava pensando sobre a colocação de todos os componentes em uma única máquina e adicionar mais caixas de como eu ir junto com algum tipo de um balanceador de carga na frente. Outros me aconselhou a escala para o outro lado - adicionar caixas especializados onde a carga aplicativo recebe alta - mas isto leva de volta ao pesadelo de manutenção
.Você sabe recursos onde devo começar? Idealmente, eu preciso de alguns benchmarks qual abordagem é melhor em termos de desempenho? (Pensando em voz alta, quando eu tenho uma quantidade X de carga e quantidade Y de memória e poder de processamento onde é que isso importa como eu alocá-lo?)
Solução
Eu iria para virtualização. Dessa forma, você pode ter várias máquinas de configuração semelhantes, e distribuir a carga entre eles conforme necessário, mesmo se você manter módulos em VMs separado.
Outras dicas
Você precisa determinar onde a maior carga ou gargalo será que vai ser difícil para planejar isso corretamente sem.
Eu segundo olhando para a virtualização. Não faz o seu app: Rápido para implantar Fácil para backup Em caso de falha rápida para restaurar