Viele ASP.NET-Anwendungen mit hohem Datenverkehr in Microsoft Azure werden über mehrere Microsoft Azure-Regionen bereitgestellt, um geografisch getrennten Datenverkehr zu verarbeiten. In diesen Situationen sendet der Load Balancer den Datenverkehr für eine schnellere Reaktionszeit immer an die Microsoft Azure-Region, die dem Benutzer am nächsten ist.
In diesem Szenario kann es vorkommen, dass Sie einen Teil Ihres Datenverkehrs von und zu einer Microsoft Azure-Region in eine andere umleiten müssen. Dies kann passieren, weil Sie in einer Microsoft Azure-Region zu viel Datenverkehr haben und eine andere Region nicht ausreichend ausgelastet ist. Ein weiterer Grund kann sein, dass Sie eine Region zu Wartungszwecken herunterfahren müssen.
NCache Details NCache Cloud für Azure Getting Started Guide
Wenn Sie Datenverkehr umleiten, verlieren Ihre Benutzer normalerweise ihre ASP.NET-Sitzungen, weil Ihr ASP.NET-Sitzungsstatus ist in der anderen Microsoft Azure-Region nicht verfügbar. Und das ist offensichtlich nicht gut. Idealerweise möchten Sie den Datenverkehr umleiten, ohne Ihre Benutzer zu unterbrechen.
In Microsoft Azure, können Sie dies nur erreichen, wenn Sie einen gemeinsamen ASP.NET-Sitzungszustandsspeicher in mehreren Microsoft Azure-Regionen beibehalten. Dadurch können Sie Datenverkehr umleiten, ohne den ASP.NET-Sitzungsstatus zu verlieren. Diese Option hat jedoch schwerwiegende Leistungsprobleme, da auf einen großen Prozentsatz der ASP.NET-Sitzungen über das WAN zugegriffen wird.
NCache in Azur
In Azur, NCache ist ein extrem schneller und skalierbarer verteilter Microsoft Azure-Cache für .NET-Anwendungen. NCache in Azure bietet intelligente ASP.NET-Sitzungszustandsunterstützung für mehrere Regionen für Ihre ASP.NET-Anwendungen, die in mehreren Microsoft Azure-Regionen bereitgestellt werden.
Die Vorteile dieser Konfiguration sind wie folgt:
- Nutzen Sie den Cache von jeder Microsoft Azure/AWS-Anwendung und Website
- Teilen Sie den Cache für mehrere Microsoft Azure-Apps und sogar für andere Plattformen wie AWS, Google Compute Engine, Rackspace, Ihre private Cloud und mehr
- Teilen Sie den Cache über mehrere Regionen hinweg für dieselben oder verschiedene Anwendungen
NCache Details NCache Cloud für Azure Getting Started Guide
Verschieben Sie ASP.NET-Sitzungen von einer Microsoft Azure-Region in eine andere
NCache in Azur erkennt Ihre ASP.NET-Sitzungen intelligent und verschiebt sie dann automatisch von einer Microsoft Azure-Region in eine andere Region, wenn eine Benutzeranfrage von einer Microsoft Azure-Region in eine andere umgeleitet wird. Alle nachfolgenden Anforderungen werden von dieser neuen Microsoft Azure-Region bedient. Dadurch können Ihre ASP.NET-Anwendungen ASP.NET-Sitzungen nahtlos über Microsoft Azure-Regionen hinweg freigeben, ohne die Leistung zu beeinträchtigen oder Sitzungsdatenverluste zu verursachen.
NCache für Azure ermöglicht es Ihnen, ASP.NET-Sitzungszustandsfunktionen für mehrere Regionen zu erreichen, indem Sie primäre und sekundäre Caches in jeder Microsoft Azure-Region definieren. Zusätzlich geben Sie auch das Attribut „sid-prefix“ an, das all vorangestellt wird Session-IDs in jeder Microsoft Azure-Region. Das hilft NCache für das Azure SSP-Modul, um zu identifizieren, welche ASP.NET-Sitzungen zu welcher Microsoft Azure-Region gehören, und dann NCache für Azure beschließt, ASP.NET-Sitzungen zu verschieben, wenn eine Anfrage in eine andere Microsoft Azure-Region umgeleitet wird.
Hier ist eine Beispielkonfiguration zur Verwendung NCache für Ihren ASP.NET-Sitzungsstatusspeicher:
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> |
Außerdem benötigen Sie Standortaffinitätskonfigurationen für die Unterstützung des Azure Multi-Region ASP.NET-Sitzungszustands.
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> |
Bitte beachte, dassncache> Der Abschnitt in jeder Azure-Region wird unterschiedlich sein, was bedeutet, dass jede Region ihren eigenen „PrimaryCache“ hat und alle anderen Region-Caches als „SecondaryCache“ definiert.
Verwenden der Sitzungs-ID zum Umleiten einer Anforderung an eine andere Microsoft Azure-Region
Alle ASP.NET-Sitzungen, die aus einer beliebigen Microsoft Azure-Region stammen, werden ursprünglich im primären Cache dieser Region gespeichert. Wenn jedoch eine Anfrage aus einer anderen Microsoft Azure-Region an die aktuelle Microsoft Azure-Region umgeleitet wird NCache Das SSP-Modul für mehrere Regionen von Azure erkennt auf intelligente Weise, dass die ASP.NET-Sitzungsstatus befindet sich in einer der anderen Microsoft Azure-Regionen (unter Verwendung des an die ASP.NET-Sitzungs-ID angehängten „Sid-Präfix“) und kontaktiert automatisch den entsprechenden sekundären Cache in der Remote-Microsoft Azure-Region und verschiebt ihn in den primären Cache in der aktuellen Microsoft Azure-Region. Alle nachfolgenden Anfragen werden dann von diesem neuen Standort aus bearbeitet.
NCache Details NCache Cloud für Azure Getting Started Guide
Angenommen, Sie haben London_Cache als Ihren primären Cache definiert, während NewYork_Cache und Tokyo_Cache als sekundäre Caches für die Website London definiert sind. Sie geben auch „LDC“, „NYC“ und „TKC“ als Sid-Präfix an, die an jede Sitzungs-ID angehängt werden, die London_Cache-, NewYork_Cache- bzw. Tokyo_Cache-Sitzungen entspricht. Jetzt haben alle ASP.NET-Sitzungen, die aus der Region London stammen, „LDC“ als Präfix an ihre ASP.NET-Sitzungs-IDs angehängt und werden von London_Cache, dem primären Cache für die Region London, gespeichert und bereitgestellt. Wenn jedoch eine Anforderung von einer anderen Microsoft Azure-Region wie New York oder Tokio in die Region London umgeleitet wird, wird dieser ASP.NET-Sitzungsstatus sofort basierend auf dem Sid-Präfix identifiziert, und der ASP.NET-Sitzungsstatus wird von NewYork_Cache oder Tokyo_Cache an London_Cache übertragen. Alle nachfolgenden Anforderungen werden lokal von London_Cache verarbeitet, sobald der ASP.NET-Sitzungsstatus in die Region London verschoben wurde.
Fazit:
NCache Für die multiregionale ASP.NET-Sitzungsstatusunterstützung von Azure können Sie Ihre ASP.NET-Anwendungen in zwei oder mehr aktiven Microsoft Azure-Regionen bereitstellen und den Datenverkehr zwischen Microsoft Azure-Regionen umleiten, ohne die Leistung zu beeinträchtigen oder Anwendungsausfallzeiten zu verursachen. Sie können Anfragen nahtlos zwischen Microsoft Azure-Regionen umleiten, um Verkehrsüberläufe zu bewältigen und die Website zu warten.
NCache Details Herunterladen NCache Editionsvergleich