Pretendo ter 2 t2.micro
instâncias do Linux com 1 banco de dados MySQL db.t1.micro
e 1 Elastic Load Balancer no Amazon Web Services. Vou executar programas PHP nele.
Minha pergunta é: preciso gravar a sessão no banco de dados para que seja compartilhada entre 2 instâncias? Ou posso tratar o Elastic LB como transparente?
Como seu aplicativo não parece oferecer suporte a clustering com gerenciamento de sessão para compartilhar sessões no cluster, recomendo que você configure a persistência de sessão para seu balanceador de carga. Isso vinculará a sessão de um usuário a uma instância específica. Então, todas as solicitações do usuário serão processadas apenas por essa instância.
Você tem duas opções lá. Seu aplicativo oferece suporte a sessões para que você possa informar diretamente ao balanceador de carga qual cookie de aplicativo usar para rastrear a instância para a solicitação de cada usuário.
Caso contrário, você pode habilitar a chamada persistência de sessão baseada em duração quando o próprio balanceador de carga estiver inserindo um cookie de sessão específico nas respostas para vincular solicitações subsequentes do usuário à mesma instância.
As capturas de tela a seguir são autoexplicativas. Você pode configurar a permanência da sessão no console da Web da AWS -> guia de descrição do balanceador de carga -> editar configuração da porta
:
Mais detalhes podem ser encontrados nesta página .