Escala o servidor estadual de sessão do ASP.NET
-
20-08-2019 - |
Pergunta
Cenário:
O site está hospedado em três servidores usando Iis em cada.
Todos os três servidores são agrupados usando o software de balanceamento de carga de rede que vem com o Windows Server 2003.
Todos os três sites estão configurados para armazenar o estado da sessão em um servidor separado que foi designado como um "servidor estadual".
Foi -me pedido para ampliar o "servidor estadual". Existe uma maneira de eu ter mais de um servidor estadual e sincronizar o estado entre eles; portanto, se um dos servidores estaduais descer, os outros poderão servir as informações do estado?
Solução
Eu iria para Memcached. Você pode configurá -lo em cada um dos servidores da Web e, em seguida, pode escalá -lo com cada novo servidor da Web que adicionar. Já encontrei alguns clientes no CodePlex antes.
Outras dicas
Nós usamos Escala do servidor estadual Para isso, onde eu trabalho, e faz o trabalho maravilhosamente e é morto simples de configurar. Eu entendo que a Microsoft também está trabalhando em um produto semelhante chamado Velocidade, mas não tenho nenhuma experiência com isso.
A única desvantagem de Soss é que você precisa pagar por isso - mas não tive nada além de ótimas experiências interagindo com sua equipe de vendas e suporte. Se você acabar licenciamento, faça -me um favor e deixe -os saber que Daniel de Gratis enviou você;)
Você está procurando uma tecnologia de cache distribuída. A Microsoft Velocity é aquela que possui exemplos publicados pela Microsoft para substituir o estado de sessão ASP.NET padrão por velocidade que pode ser distribuída. Existem outros provedores de cache, como o Memcache.
Editar: Atualizando esta resposta para obter informações mais relevantes para o horário atual, esse tipo de funcionalidade é incorporado ao Windows Azure com o produto Appfabric. Algumas informações breves sobre isso podem ser vistas aqui: Lançamento virtual do Windows Server e Azure Appfabric
O banco de dados da sessão em um servidor SQL pode ser facilmente dimensionado com pequenas alterações de código e configuração. Você pode colar as sessões do ASP.NET em um banco de dados de sessão e independentemente de qual servidor da Web em sua fazenda serve a solicitação, o seu mapeamento de servidor SQL State baseado em ID de sessão funciona impecável. Esta é provavelmente uma das melhores maneiras de ampliar o estado da sessão do ASP.NET usando o SQL Server. Para mais informações, leia o link