Por Gowtham K
Como o protocolo HTTP utilizado pelas aplicações web é um protocolo sem estado - o que significa que seus dados não ficam armazenados em nenhum lugar, e para cada requisição web, uma nova conexão HTTP é aberta pelo navegador - o ASP.NET Core fornece sessões para armazenar dados do usuário. Este armazenamento de dados é mantido pelo ASP.NET Core próprio aplicativo no mesmo servidor que o aplicativo. Embora ASP.NET Core fornece um provedor de sessão na memória que armazena sessões, às vezes a carga precisa ser balanceada. Nesses cenários, estratégias de armazenamento de sessão, como sessões fixas, podem ser usadas. Precisamos de algum mecanismo de cache distribuído para superar esse problema.
Leia o artigo completoASP.NET Core O aplicativo usa a sessão fixa para vincular cada sessão à instância específica do aplicativo em um servidor individual por meio do módulo Application Request Routing. As sticky sessions podem afetar a escalabilidade devido à distribuição inadequada de carga no servidor. Quando as solicitações para o aplicativo aumentam, a carga do servidor também aumenta; nesse caso, precisamos escalar o servidor, o que é muito complicado usando a sessão fixa.
A melhor abordagem é usar o SQL Server ou cache distribuído para armazenamento de sessão para superar o problema na sessão fixa. No entanto, quando se trata de ASP escalável.NET core aplicativo, os bancos de dados SQL tornam-se um gargalo de desempenho porque no SQL as sessões são salvas como BLOBs.
Com base na escalabilidade, a melhor abordagem é usar o cache distribuído para armazenamento de sessão.
Leia o artigo completo