[MASOCH-L] balance...
Rafael Henrique Faria
rafaelhfaria at cenadigital.com.br
Fri Jun 6 15:47:29 -03 2008
Eu concordo com o Lao, esses problem podem ser resolvidos usando
métodos diferentes... e muito mais eficazes no lado da aplicação.
Eu não sei quanto ao ASP, nunca programei. Mas em PHP, podemos usar o
Zend Platform, e trabalhar com Session Clustering... onde cada maquina
do cluster tem acesso a mesma sessão do usuário.
Então se a 1a. conexão do usuário for na maquina 1, e ele logar nessa
maquina, a segunda conexão acontecer na maquina 3, essa maquina vai
encontrar a sessão do usuário normalmente.
Assim pode-se garantir a permanência da sessão do usuário, sem se
preocupar em qual máquina do cluster o usuário estará acessando.
Mas isso pode muito bem ser feito a niver de aplicação... sem requerer
recursos especiais ou softwares especiais (no caso do ZendPlatform),
por exemplo, armazenar a sessão em um banco de dados, e utilizar
cookies para identificar a sessão do usuário.
Alias, o mecanismo que os sistemas de sessão usa, é justamente algo
parecido... ele usa um cookie de forma transparente, e armazena os
dados da sessão em um arquivo local no sistema...
Você apenas estará alterando essa forma para uma maneira mais
explicita... via aplicação.
No PHP existe funções que você define para alterar a maneira do
proprio PHP salvar a sessão.. podendo assim retirar a sessão do
arquivo comum, e transferir ela para um banco de dados em comum no
cluster... assim todas as maquinas podem acessar essa mesma sessão...
e você nem precisa se preocuar em alterar o programa em si.. apenas
adicinar essa funão no começo da aplicação e pronto.
Pode ser que no ASP exista algo parecido. Acho que vale a pena
conversar com um programador ASP.
E acredito que essa seja a melhor forma para se resolver isso.
Mas no caso de se querer fazer o balanceamento a nivel de rede, eu
recomendo um FreeBSD... assim você consegue manter um unico IP
dedicado a uma maquina.
Porém... assim você compromete o balancemento.
Vamos supor que o usuário 1 acesse a maquina 3.
O firewall vai marcar o IP do usuario 1 e atribuir todos os acessos
seguintes desse IP para a maquina 3. Porém se no meio tempo a maquina
3 morre... esse usuário não vai mais conseguir acessar.
No caso de um balanceamento real, usando cluster... se uma maquina
morre, as outras podem continuar a receber o usuário.. pq todas vão
compartilhar a mesma sessão.
Fica aí minha sugestão.
--
Rafael Henrique da Silva Faria
# Grupo Cena Digital
# (16) 9229-8928
# www.cenadigital.com.br
More information about the masoch-l
mailing list