Com o HAProxy você pode adicionar toda a gama de possíveis servidores back-end e, em seguida, ativá-los e desativá-los (hard ou soft) usando as páginas admin / chamadas de soquete.
Como isso não se encaixa nos seus requisitos?
Estou com dificuldades para encontrar uma solução para um requisito específico de balanceamento de carga. Parece que várias combinações de HAProxy, Nginx, Varnish e mod_proxy_balancer do Apache podem fazer algumas, mas não todas, do que precisamos. Minha pergunta é se alguém pode sugerir uma configuração adequada (talvez incluindo um software que talvez não tenhamos considerado, mas precisa ser um software livre).
O principal requisito é, infelizmente, sessões complicadas. Temos um aplicativo Tomcat grande e complexo que, de certa forma, abusa a Sessão HTTP e utiliza estruturas que fazem o mesmo. A conversão para um design sem estado ou sessão replicada foi investigada e descontada. Além disso, a rigidez deve basear-se em um cookie e não em um hash de IP, pois temos grandes picos de clientes corporativos, onde muitos milhares de usuários parecem estar acessando o site ao mesmo tempo do mesmo endereço IP.
O segundo requisito mais importante é um back-end dinâmico. Esse aplicativo é executado em uma nuvem (não na AWS) e os servidores de aplicativos vêm e desaparecem de tempos em tempos com base no dimensionamento automático ou manual.
Em terceiro lugar, precisamos marcar os servidores como "quiesce" para que eles continuem a honrar as sessões existentes, mas não receberão novas. Quando todas as sessões atuais terminarem, o servidor pode ser desativado ou atualizado / reiniciado.
Existem algumas complicações / requisitos adicionais, mas está de acordo com os três itens acima que parece estar apresentando a maior dificuldade.
Da pesquisa até agora, acho que as seguintes afirmações são verdadeiras:
Gostaria muito de receber sugestões ou insights.
Com o HAProxy você pode adicionar toda a gama de possíveis servidores back-end e, em seguida, ativá-los e desativá-los (hard ou soft) usando as páginas admin / chamadas de soquete.
Como isso não se encaixa nos seus requisitos?
Tags cloud linux load-balancing