Muchas aplicaciones ASP.NET de alto tráfico en Microsoft Azure se implementan en varias regiones de Microsoft Azure para manejar el tráfico separado geográficamente. En estas situaciones, el balanceador de carga siempre envía tráfico a la región de Microsoft Azure más cercana al usuario para un tiempo de respuesta más rápido.
En este escenario, es posible que se encuentre con una situación en la que tenga que redirigir parte de su tráfico hacia y desde una región de Microsoft Azure a otra. Esto puede suceder porque tiene demasiado tráfico en una región de Microsoft Azure y otra región está infrautilizada. Otra razón puede ser que necesite desactivar una región para realizar tareas de mantenimiento.
NCache Detalles NCache Cloud para azur Guía de introducción
Cuando redirige el tráfico, sus usuarios normalmente pierden sus sesiones ASP.NET porque su Estado de sesión de ASP.NET no está disponible en la otra región de Microsoft Azure. Y esto obviamente no es bueno. Idealmente, desea redirigir el tráfico sin causar interrupciones a sus usuarios.
In microsoft Azure, la única forma de lograrlo es mantener un almacenamiento de estado de sesión de ASP.NET común en varias regiones de Microsoft Azure. Esto le permite redirigir el tráfico sin perder ningún estado de sesión de ASP.NET. Pero esta opción tiene graves problemas de rendimiento porque se accede a un gran porcentaje de sesiones ASP.NET a través de la WAN.
NCache en Azure
en azul, NCache es un caché distribuido de Microsoft Azure extremadamente rápido y escalable para aplicaciones .NET. NCache en Azure proporciona compatibilidad inteligente con el estado de sesión de ASP.NET en varias regiones para sus aplicaciones ASP.NET implementadas en varias regiones de Microsoft Azure.
Los beneficios de esta configuración son los siguientes:
- Use el caché desde cualquier aplicación y sitio web de Microsoft Azure/AWS
- Comparta el caché en múltiples aplicaciones de Microsoft Azure e incluso en otras plataformas como AWS, Google Compute Engine, Rackspace, su nube privada y más
- Comparta el caché en múltiples regiones para las mismas o diferentes aplicaciones
NCache Detalles NCache Cloud para azur Guía de introducción
Mover sesiones de ASP.NET de una región de Microsoft Azure a otra
NCache en Azure detecta de manera inteligente y luego mueve automáticamente sus sesiones de ASP.NET de una región de Microsoft Azure a otra región cuando la solicitud del usuario se redirige de una región de Microsoft Azure a otra. Todas las solicitudes posteriores se atienden desde esta nueva región de Microsoft Azure. Esto permite que sus aplicaciones ASP.NET compartan sin problemas sesiones ASP.NET en todas las regiones de Microsoft Azure sin afectar negativamente el rendimiento ni provocar la pérdida de datos de la sesión.
NCache para Azure le permite lograr la capacidad de estado de sesión de ASP.NET en varias regiones mediante la definición de memorias caché primarias y secundarias en cada región de Microsoft Azure. Además, también especifica el atributo "sid-prefix", que se antepone a todos ID de sesión en cada región de Microsoft Azure. Esto ayuda NCache para que el módulo Azure SSP identifique qué sesiones ASP.NET pertenecen a qué región de Microsoft Azure y luego NCache para Azure decide mover las sesiones de ASP.NET cuando una solicitud se redirige a otra región de Microsoft Azure.
Aquí hay una configuración de muestra para usar NCache para su almacenamiento de estado de sesión 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> |
Además, necesita configuraciones de afinidad de ubicación para la compatibilidad con el estado de sesión ASP.NET de varias regiones de 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> |
Tenga en cuenta quencache> La sección en cada región de Azure será diferente, lo que significa que cada región tendrá su propio "PrimaryCache" y definirá todos los demás cachés de la región como "SecondaryCache".
Uso de ID de sesión para redirigir una solicitud a otra región de Microsoft Azure
Todas las sesiones de ASP.NET originadas en cualquier región de Microsoft Azure se almacenan originalmente en la memoria caché principal de esa región. Sin embargo, cuando una solicitud de otra región de Microsoft Azure se redirige a la región actual de Microsoft Azure, entonces NCache para el módulo SSP de varias regiones de Azure detecta de forma inteligente que el Estado de sesión de ASP.NET reside en una de las otras regiones de Microsoft Azure (usando el "prefijo sid" adjunto al ID de sesión de ASP.NET) y automáticamente contacta con la caché secundaria correspondiente en la región remota de Microsoft Azure y la mueve a la caché principal en la región actual de Microsoft Azure. Todas las solicitudes posteriores se atienden desde esta nueva ubicación.
NCache Detalles NCache Cloud para azur Guía de introducción
Digamos, por ejemplo, que ha definido London_Cache como su caché principal, mientras que NewYork_Cache y Tokyo_Cache se definen como cachés secundarios para el sitio de Londres. También especifica "LDC", "NYC" y "TKC" como prefijo de sid que se adjuntan a cada ID de sesión correspondiente a las sesiones London_Cache, NewYork_Cache y Tokyo_Cache respectivamente. Ahora, todas las sesiones de ASP.NET originadas en la región de Londres tienen "LDC" adjunto como prefijo a sus ID de sesión de ASP.NET y se almacenan y sirven desde London_Cache, que es la memoria caché principal para la región de Londres. Pero si una solicitud se redirige desde otra región de Microsoft Azure, como Nueva York o Tokio, a la región de Londres, este estado de sesión de ASP.NET se identifica inmediatamente en función del prefijo sid y el estado de sesión de ASP.NET se transfiere de NewYork_Cache o Tokyo_Cache a London_Cache. Todas las solicitudes posteriores se atienden desde London_Cache localmente una vez que el estado de sesión de ASP.NET se traslada a la región de Londres.
Conclusión:
NCache para Azure, la compatibilidad con el estado de sesión ASP.NET de varias regiones le permite implementar sus aplicaciones ASP.NET en dos o más regiones activas de Microsoft Azure y poder redirigir el tráfico entre las regiones de Microsoft Azure sin afectar el rendimiento ni causar ningún tiempo de inactividad de la aplicación. Puede redirigir sin problemas las solicitudes entre las regiones de Microsoft Azure para manejar los desbordamientos de tráfico y el mantenimiento del sitio.
NCache Detalles Descargar NCache Comparación de ediciones