Muitos aplicativos ASP.NET de alto tráfego no Microsoft Azure são implantados em várias regiões do Microsoft Azure para lidar com o tráfego geograficamente separado. Nessas situações, o balanceador de carga sempre envia tráfego para a região do Microsoft Azure mais próxima do usuário para um tempo de resposta mais rápido.
Nesse cenário, você pode se deparar com uma situação em que precisa redirecionar parte do tráfego de e para uma região do Microsoft Azure para outra. Isso pode acontecer porque você tem muito tráfego em uma região do Microsoft Azure e outra região é subutilizada. Outro motivo pode ser que você precise derrubar uma região para manutenção.
NCache Adicionar ao carrinho NCache Cloud para Azure Guia de Introdução
Quando você redireciona o tráfego, seus usuários normalmente perdem suas sessões ASP.NET porque seu Estado da Sessão ASP.NET não está disponível na outra região do Microsoft Azure. E isso obviamente não é bom. Idealmente, você deseja redirecionar o tráfego sem causar interrupções para seus usuários.
In e Microsoft Azure, a única maneira de conseguir isso é se você mantiver um armazenamento comum de estado de sessão ASP.NET em várias regiões do Microsoft Azure. Isso permite redirecionar o tráfego sem perder nenhum estado de sessão ASP.NET. Mas essa opção tem problemas graves de desempenho porque uma grande porcentagem de sessões ASP.NET está sendo acessada pela WAN.
NCache no Azure
No Azure, NCache é um cache distribuído do Microsoft Azure extremamente rápido e escalável para aplicativos .NET. NCache no Azure fornece suporte de estado de sessão ASP.NET multirregional inteligente para seus aplicativos ASP.NET implantados em várias regiões do Microsoft Azure.
Os benefícios desta configuração são os seguintes:
- Use o Cache de qualquer aplicativo e site do Microsoft Azure/AWS
- Compartilhe o Cache em vários aplicativos do Microsoft Azure e até mesmo em outras plataformas como AWS, Google Compute Engine, Rackspace, sua nuvem privada e muito mais
- Compartilhe o Cache em várias regiões para aplicativos iguais ou diferentes
NCache Adicionar ao carrinho NCache Cloud para Azure Guia de Introdução
Mover sessões ASP.NET de uma região do Microsoft Azure para outra
NCache no Azure detecta de forma inteligente e move automaticamente suas sessões ASP.NET de uma região do Microsoft Azure para outra quando a solicitação do usuário é redirecionada de uma região do Microsoft Azure para outra. Todas as solicitações subsequentes são atendidas dessa nova região do Microsoft Azure. Isso permite que seus aplicativos ASP.NET compartilhem perfeitamente sessões ASP.NET nas regiões do Microsoft Azure sem afetar negativamente o desempenho ou causar perda de dados da sessão.
NCache para Azure permite que você obtenha o recurso de estado de sessão ASP.NET multirregional definindo caches primários e secundários em cada região do Microsoft Azure. Além disso, você também especifica o atributo “sid-prefix”, que é prefixado para todos IDs de sessão em cada região do Microsoft Azure. Isso ajuda NCache para o módulo Azure SSP para identificar quais sessões ASP.NET pertencem a qual região do Microsoft Azure e, em seguida, NCache para Azure decide mover sessões ASP.NET quando uma solicitação redireciona para outra região do Microsoft Azure.
Aqui está uma configuração de exemplo para usar NCache para seu armazenamento de estado de sessão ASP.NET:
1 2 3 4 5 6 7 8 9 10 11 12 |
<assemblies> <add assembly="Alachisoft.NCache.SessionStoreProvider, Version=x.x.x.x, Culture=neutral, PublicKeyToken=CFF5926ED6A53769"> </add></assemblies> <sessionstate cookieless="false" regenerateexpiredsessionid="true" mode="Custom" customprovider="NCacheSessionProvider" timeout="20"></sessionstate> <providers> <add name="NCacheSessionProvider" type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider" sessionappid="NCacheTest" cachename="London_Cache" writeexceptionstoeventlog="false"> </add> </providers> |
Além disso, você precisa de configurações de afinidade de local para suporte de estado de sessão ASP.NET multirregional do Azure.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<configsections> <section name="ncache" type="Alachisoft.NCache.Web.SessionStateManagement.NCacheSection, Alachisoft.NCache.SessionStateManagement, Version=x.x.x.x, Culture=neutral, PublicKeyToken=CFF5926ED6A53769"/> </configsections> <section name="ncache" type="Alachisoft.NCache.Web.SessionStateManagement.NCacheSection, Alachisoft.NCache.SessionStateManagement, Version=x.x.x.x, Culture=neutral, PublicKeyToken=CFF5926ED6A53769"> <ncache> <sessionlocation> <primarycache id="London_Cache" sid-prefix="LDC"> <secondarycache id="NewYork_Cache" sid-prefix="NYC"> <secondarycache id="Tokyo_Cache" sid-prefix="TKC"> </secondarycache></secondarycache></primarycache></sessionlocation> </ncache> |
Observe quencache> seção em cada Região do Azure será diferente, o que significa que cada região terá seu próprio “PrimaryCache” e definirá todos os outros caches de região como “SecondaryCache”.
Usando o ID de sessão para redirecionar uma solicitação para outra região do Microsoft Azure
Todas as sessões ASP.NET originadas de qualquer região do Microsoft Azure são originalmente armazenadas no cache primário dessa região. No entanto, quando uma solicitação de outra região do Microsoft Azure é redirecionada para a região atual do Microsoft Azure, NCache para o módulo SSP multirregional do Azure detecta de forma inteligente que o Estado da Sessão ASP.NET reside em uma das outras regiões do Microsoft Azure (usando “sid-prefix” anexado ao ASP.NET Session ID) e automaticamente contata o cache secundário correspondente na região remota do Microsoft Azure e o move para o cache primário na região atual do Microsoft Azure. Todas as solicitações subsequentes são atendidas a partir desse novo local.
NCache Adicionar ao carrinho NCache Cloud para Azure Guia de Introdução
Digamos, por exemplo, que você definiu London_Cache como seu cache primário, enquanto NewYork_Cache e Tokyo_Cache são definidos como caches secundários para o site de Londres. Você também especifica “LDC”, “NYC” e “TKC” como prefixo sid que são anexados a cada ID de sessão correspondente às sessões London_Cache, NewYork_Cache e Tokyo_Cache, respectivamente. Agora, todas as sessões ASP.NET originadas da região de Londres têm “LDC” anexado como prefixo às suas IDs de sessão ASP.NET e são armazenadas e servidas a partir de London_Cache, que é o cache primário para a região de Londres. Mas se uma solicitação for redirecionada de outra região do Microsoft Azure, como Nova York ou Tóquio para a região de Londres, esse estado de sessão ASP.NET será imediatamente identificado com base no prefixo sid e o estado de sessão ASP.NET será transferido de NewYork_Cache ou Tokyo_Cache para London_Cache. Todas as solicitações subsequentes são atendidas de London_Cache localmente quando o estado de sessão ASP.NET é movido para a região de Londres.
Conclusão:
NCache para o suporte de estado de sessão ASP.NET multirregional do Azure permite que você tenha seus aplicativos ASP.NET implantados em duas ou mais regiões ativas do Microsoft Azure e possa redirecionar o tráfego entre as regiões do Microsoft Azure sem afetar o desempenho ou causar qualquer tempo de inatividade do aplicativo. Você pode redirecionar solicitações perfeitamente entre regiões do Microsoft Azure para lidar com estouros de tráfego e manutenção do site.
NCache Adicionar ao carrinho Baixar NCache Comparação de edições