Tendo problemas com a manutenção de sessões em várias instâncias do Amazon EC2

6

Um dos meus sites é hospedado por meio do serviço Amazon EC2. O problema começa a acontecer quando o site enfrenta uma carga pesada que, por sua vez, gera uma nova instância do EC2 por meio do AutoScaling. Isso é bom, mas o problema é que quando essas instâncias são eliminadas (devido à falta de carga), as informações da sessão também são perdidas e, portanto, forçando o usuário a efetuar login novamente no site.

Qual é a melhor maneira de abordar esse problema?

Analisei o Gerenciador de sessões do Memcached & funciona bem para sessões de Sticky, mas causando problemas quando tento usar sessões não-pegajosas, já que eu faço muitas solicitações paralelas ao meu servidor.

Meu servidor atual é o Apache + Tomcat

Todos os ponteiros são úteis. Obrigado.

( cross post de webmasters.stackexchange )

    
por Chantz 08.09.2011 / 23:39

1 resposta

5

Se as suas instâncias de escalonamento automático puderem ser encerradas a qualquer momento e você não puder perder informações da sessão, não será possível armazenar informações da sessão nas instâncias de escalonamento automático.

Se você tiver um banco de dados (por exemplo, MySQL, RDS), poderá armazenar sessões lá. Isso funciona bem para sites de volume baixo a médio, mas pode quebrar com um volume maior.

Você pode executar uma instância (s) separada (s) com o memcached que não tenha escalonamento automático.

Você também pode considerar o Amazon ElastiCache (acabou de ser lançado):

http://aws.amazon.com/elasticache/

Isso é compatível com protocolo do Memcached, portanto, o software de plug-in de sessão do servidor da Web existente deve ser capaz de funcionar sem muito problema.

    
por 09.09.2011 / 02:09