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?)

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top