Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Load Balance com aplicações dinâmicas

Talvez seja tratado nas próximas aulas, ou em algum outro curso, mas ficou uma dúvida. No exemplo da aula, foi criado um arquivo de texto em cada instância, onde o conteúdo desse arquivo era ligeiramente diferente.

Na prática, o ideal é que tenhamos um clone da plataforma a fim de servir os usuários. Pensando nisso, como isso funcionaria na prática considerando sessões de login e dados dinâmicos? Exemplo, acessei o site XPTO na instância 01 e realizei um cadastro, nesse momento, os dados foram salvos no banco de dados. Após isso, acabei "caindo" na instância 02. Esses dados estarão replicados em realtime em ambas as instâncias? No caso, o banco de dados precisaria estar em outro local ou coisa do tipo?

2 respostas
solução!

Olá, Douglas!

Sua dúvida é bastante pertinente quando se trata de aplicações dinâmicas e balanceamento de carga. Quando você utiliza um load balancer para distribuir o tráfego entre diferentes instâncias, é crucial garantir que todas as instâncias tenham acesso aos mesmos dados dinâmicos, como sessões de login e informações de cadastro.

Para resolver isso, geralmente, o banco de dados é centralizado. Ou seja, em vez de cada instância ter seu próprio banco de dados, todas elas se conectam a um banco de dados único ou a um serviço de banco de dados gerenciado. Isso garante que, independentemente de qual instância o usuário "caia" após o login ou cadastro, ele terá acesso aos mesmos dados.

Além disso, para gerenciar sessões de login, é comum utilizar um armazenamento de sessão compartilhado. Isso pode ser feito através de serviços como Redis ou Memcached, que permitem que as sessões sejam acessíveis por todas as instâncias.

Por exemplo, se você está usando um banco de dados como Amazon RDS, todas as suas instâncias de aplicação podem se conectar a esse banco de dados centralizado. Para sessões, você pode configurar um Redis no Amazon ElastiCache para armazenar as sessões de forma que qualquer instância possa acessá-las.

Bons estudos!

Obrigado Lucas pelo rápido retorno. Tirou minhas dúvidas sim.