De nombreuses applications ASP.NET à trafic élevé dans Microsoft Azure sont déployées sur plusieurs régions Microsoft Azure afin de gérer un trafic géographiquement séparé. Dans ces situations, l'équilibreur de charge envoie toujours le trafic vers la région Microsoft Azure la plus proche de l'utilisateur pour un temps de réponse plus rapide.
Dans ce scénario, vous pouvez vous retrouver dans une situation où vous devez rediriger une partie de votre trafic vers et depuis une région Microsoft Azure vers une autre. Cela peut se produire parce que vous avez trop de trafic dans une région Microsoft Azure et qu'une autre région est sous-utilisée. Une autre raison peut être que vous devez arrêter une région pour maintenance.
NCache Détails NCache Cloud pour Azur Guide de démarrage
Lorsque vous redirigez le trafic, vos utilisateurs perdent normalement leurs sessions ASP.NET car votre État de session ASP.NET n'est pas disponible dans l'autre région Microsoft Azure. Et ce n'est évidemment pas bon. Idéalement, vous souhaitez rediriger le trafic sans causer d'interruptions pour vos utilisateurs.
In Microsoft Azure, la seule façon d'y parvenir est de conserver un stockage d'état de session ASP.NET commun dans plusieurs régions Microsoft Azure. Cela vous permet de rediriger le trafic sans perdre aucun état de session ASP.NET. Mais cette option présente de graves problèmes de performances car un grand pourcentage de sessions ASP.NET sont accessibles via le WAN.
NCache en azur
Dans Azur, NCache est un cache distribué Microsoft Azure extrêmement rapide et évolutif pour les applications .NET. NCache dans Azure fournit une prise en charge intelligente multirégionale de l'état de session ASP.NET pour vos applications ASP.NET déployées dans plusieurs régions Microsoft Azure.
Les avantages de cette configuration sont les suivants :
- Utilisez le cache à partir de n'importe quelle application et site Web Microsoft Azure/AWS
- Partagez le cache sur plusieurs applications Microsoft Azure et même sur d'autres plates-formes telles qu'AWS, Google Compute Engine, Rackspace, votre cloud privé, etc.
- Partagez le cache sur plusieurs régions pour la même application ou des applications différentes
NCache Détails NCache Cloud pour Azur Guide de démarrage
Déplacer des sessions ASP.NET d'une région Microsoft Azure à une autre
NCache en azur détecte intelligemment puis déplace automatiquement vos sessions ASP.NET d'une région Microsoft Azure vers une autre région lorsque la demande de l'utilisateur est redirigée d'une région Microsoft Azure vers une autre. Toutes les demandes ultérieures sont servies à partir de cette nouvelle région Microsoft Azure. Cela permet à vos applications ASP.NET de partager en toute transparence des sessions ASP.NET entre les régions Microsoft Azure sans impact négatif sur les performances ni perte de données de session.
NCache for Azure vous permet d'obtenir une capacité d'état de session ASP.NET multirégionale en définissant des caches principaux et secondaires dans chaque région Microsoft Azure. De plus, vous spécifiez également l'attribut "sid-prefix", qui est préfixé à tous identifiants de session dans chaque région Microsoft Azure. CA aide NCache pour le module Azure SSP pour identifier quelles sessions ASP.NET appartiennent à quelle région Microsoft Azure, puis NCache for Azure décide de déplacer les sessions ASP.NET lorsqu'une demande est redirigée vers une autre région Microsoft Azure.
Voici un exemple de configuration à utiliser NCache pour votre stockage d'état de session 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> |
En outre, vous avez besoin de configurations d'affinité d'emplacement pour la prise en charge de l'état de session ASP.NET multirégional 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> |
Veuillez noter quencache> La section dans chaque région Azure sera différente, ce qui signifie que chaque région aura son propre "PrimaryCache" et définira tous les autres caches de région comme "SecondaryCache".
Utilisation de l'ID de session pour rediriger une demande vers une autre région Microsoft Azure
Toutes les sessions ASP.NET provenant de n'importe quelle région Microsoft Azure sont initialement stockées dans le cache principal de cette région. Toutefois, lorsqu'une demande provenant d'une autre région Microsoft Azure est redirigée vers la région Microsoft Azure actuelle, NCache pour le module SSP multirégional Azure détecte intelligemment que le État de session ASP.NET réside dans l'une des autres régions Microsoft Azure (à l'aide du "préfixe sid" attaché à l'ID de session ASP.NET) et il contacte automatiquement le cache secondaire correspondant sur la région Microsoft Azure distante et le déplace vers le cache principal de la région Microsoft Azure actuelle. Toutes les demandes ultérieures sont ensuite servies à partir de ce nouvel emplacement.
NCache Détails NCache Cloud pour Azur Guide de démarrage
Supposons, par exemple, que vous ayez défini London_Cache comme étant votre cache principal tandis que NewYork_Cache et Tokyo_Cache sont définis comme caches secondaires pour le site de Londres. Vous spécifiez également "LDC", "NYC" et "TKC" comme préfixe sid qui sont attachés à chaque identifiant de session correspondant respectivement aux sessions London_Cache, NewYork_Cache et Tokyo_Cache. Désormais, toutes les sessions ASP.NET provenant de la région de Londres ont "LDC" attaché comme préfixe à leurs ID de session ASP.NET et sont stockées et servies à partir de London_Cache, qui est le cache principal pour la région de Londres. Mais si une demande est redirigée depuis une autre région Microsoft Azure telle que New York ou Tokyo vers la région de Londres, cet état de session ASP.NET est immédiatement identifié en fonction du préfixe sid et l'état de session ASP.NET est transféré de NewYork_Cache ou Tokyo_Cache vers London_Cache. Toutes les demandes suivantes sont servies à partir de London_Cache localement une fois que l'état de session ASP.NET est déplacé vers la région de Londres.
Conclusion:
NCache La prise en charge de l'état de session ASP.NET multirégional pour Azure vous permet de déployer vos applications ASP.NET dans deux régions Microsoft Azure actives ou plus et de rediriger le trafic entre les régions Microsoft Azure sans affecter les performances ni provoquer d'indisponibilité des applications. Vous pouvez rediriger en toute transparence les demandes entre les régions Microsoft Azure pour gérer les débordements de trafic et la maintenance du site.
NCache Détails Télécharger NCache Comparaison Des Éditions