Como implementar uma Cultura Data-Driven em sua organização
Você sente que sua empresa toma decisões com base em achismos, mesmo tendo uma grande quantidade de dados à ...
Um dos grandes desafios dos ambientes web escaláveis é exatamente o gerenciamento das sessões de usuários. Por padrão os servidores web armazenam as sessões dos usuários no disco local, uma medida simples e funcional. Porém, quando existe mais de um servidor web atendendo aos usuários da aplicação, o modelo padrão de armazenamento de sessão no disco dificulta o processo de escalonamento de servidores, uma vez que, por exemplo, o servidor número 2 não consegue acessar os dados de sessão do usuário no disco do servidor número 1.
A imagem deste post (acima) é um caso típico deste cenário: utilizamos o autoscaling da Amazon Web Services para escalar dinamicamente novos servidores web, paralelamente para atender aos usuários da aplicação.
Repare que sempre existe um Elastic Load Balancing à frete da camada de servidores web, responsável por distribuir o tráfego dos usuários entre os servidores internos.
Usando o Stickiness do Elastic Load Balancing
A solução mais simples (no entanto longe de ser a melhor) para este caso é utilizar a função Stickiness (sticky) do Elastic Load Balancing, que é bastante similar aos load balancers tradicionais, fora da nuvem.
Neste modelo, o loadbalancer “mapeia” as conexões dos usuários sempre para o mesmo servidor web, impedindo que o usuário “troque” de servidor web enquanto a sua sessão durar. O problema é que esta medida impede que um balanceamento de carga perfeito ocorra. Além disso, caso um servidor interno seja removido, as sessões dos usuários que ali estavam é perdida.
Para maiores informações sobre como opera o stickiness do ELB, confira a documentação da AWS.
Usando o DynamoDB para armazenar as sessões
A solução mais recomendada na AWS para gerenciamento de sessões de usuários, para os casos onde é possível customizar a aplicação, é usar o DynamoDB.
Trata-se de um banco de dados não relacional (NoSQL) extremamente rápido (a base de servidores usa discos SSD), altamente disponível (utiliza múltiplas Availability Zones da AWS), e totalmente gerenciado pela AWS. Como todos os serviços da AWS, para usar o DynamoDB você paga somente o que precisa usar, com um custo reduzido.
Basicamente, é preciso criar uma tabela no DynamoDB e utilizar o respectivo SDK da AWS para integrar de maneira quase transparente a iniciação de sessões da aplicação no DynamoDB.
Veja o detalhamento da documentação da AWS:
DynamoDB para aplicações no Tomcat
[contact-form-7 id=”2002″ title=”Newsletter (fimdepost)”]
Você sente que sua empresa toma decisões com base em achismos, mesmo tendo uma grande quantidade de dados à ...
A computação em nuvem (ou cloud computing) deixou de ser uma tendência para se tornar uma realidade indispensável. A ...
Vivemos em meio a era digital, e o uso de algumas ferramentas têm crescido exponencialmente. Segundo a AWS, cerca ...
O uso de tecnologias é uma tendência crescente nas empresas. No entanto, isso provoca um aumento da emissão de ...
Para descobrir como nossos serviços auxiliam os seus negócios, entre em contato conosco.
Tem alguma dúvida?
LIGUE PRA NÓS!
BRLink | Copyright © Todos os direitos Reservados.
Olá!
Gostaria de receber uma ligação?