Encante seus clientes com inteligência artificial e machine learning
Vivemos em meio a era digital, e o uso de algumas ferramentas têm crescido exponencialmente. Segundo a AWS, cerca ...
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)”]
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 ...
As informações e ativos digitais são a força vital das organizações. Neste contexto, o cenário digital está repleto de ...
Impulsionadas pela transformação digital, muitas empresas estão migrando seus serviços para a nuvem. Segundo dados do TI Inside, o ...
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?