Microsoft Azure의 트래픽이 많은 ASP.NET 응용 프로그램은 지리적으로 분리된 트래픽을 처리하기 위해 여러 Microsoft Azure 지역에 배포됩니다. 이러한 상황에서 로드 밸런서는 더 빠른 응답 시간을 위해 항상 사용자와 가장 가까운 Microsoft Azure 지역으로 트래픽을 보냅니다.
이 시나리오에서는 한 Microsoft Azure 지역 간에 일부 트래픽을 다른 지역으로 리디렉션해야 하는 상황이 발생할 수 있습니다. 이는 한 Microsoft Azure 지역에 너무 많은 트래픽이 있고 다른 지역은 충분히 활용되지 않기 때문에 발생할 수 있습니다. 또 다른 이유는 유지 관리를 위해 지역을 중단해야 하기 때문일 수 있습니다.
NCache 세부 정보 NCache Cloud 애저용 시작 설명서
트래픽을 리디렉션할 때 사용자는 일반적으로 ASP.NET 세션을 잃게 됩니다. ASP.NET 세션 상태 다른 Microsoft Azure 지역에서는 사용할 수 없습니다. 그리고 이것은 분명히 좋지 않습니다. 이상적으로는 사용자를 방해하지 않고 트래픽을 리디렉션하는 것이 좋습니다.
In Microsoft Azure, 이를 달성할 수 있는 유일한 방법은 여러 Microsoft Azure 지역에서 공통 ASP.NET 세션 상태 저장소를 유지하는 것입니다. 이를 통해 ASP.NET 세션 상태를 잃지 않고 트래픽을 리디렉션할 수 있습니다. 그러나 이 옵션은 많은 비율의 ASP.NET 세션이 WAN을 통해 액세스되고 있기 때문에 심각한 성능 문제가 있습니다.
NCache Azure에서
애저에서는 NCache .NET 애플리케이션을 위한 매우 빠르고 확장 가능한 Microsoft Azure 분산 캐시입니다. NCache Azure의 은(는) 여러 Microsoft Azure 지역에 배포된 ASP.NET 응용 프로그램에 대한 지능형 다중 지역 ASP.NET 세션 상태 지원을 제공합니다.
이 구성의 이점은 다음과 같습니다.
- 모든 Microsoft Azure/AWS 애플리케이션 및 웹 사이트에서 캐시 사용
- 여러 Microsoft Azure 앱과 AWS, Google Compute Engine, Rackspace, 프라이빗 클라우드 등과 같은 다른 플랫폼에서도 캐시를 공유합니다.
- 동일하거나 다른 애플리케이션에 대해 여러 지역에서 캐시 공유
NCache 세부 정보 NCache Cloud 애저용 시작 설명서
한 Microsoft Azure 지역에서 다른 지역으로 ASP.NET 세션 이동
NCache Azure에서 사용자 요청이 한 Microsoft Azure 지역에서 다른 지역으로 리디렉션될 때 지능적으로 감지한 다음 ASP.NET 세션을 한 Microsoft Azure 지역에서 다른 지역으로 자동으로 이동합니다. 모든 후속 요청은 이 새로운 Microsoft Azure 지역에서 제공됩니다. 이를 통해 ASP.NET 응용 프로그램은 성능에 부정적인 영향을 미치거나 세션 데이터 손실을 일으키지 않고 Microsoft Azure 지역에서 ASP.NET 세션을 원활하게 공유할 수 있습니다.
NCache for Azure를 사용하면 각 Microsoft Azure 지역에서 기본 및 보조 캐시를 정의하여 다중 지역 ASP.NET 세션 상태 기능을 얻을 수 있습니다. 또한 모든 접두사가 붙는 "sid-prefix" 속성도 지정합니다. 세션 ID 각 Microsoft Azure 지역에서. 이것은 도움이됩니다 NCache Azure SSP 모듈이 어떤 ASP.NET 세션이 어떤 Microsoft Azure 지역에 속하는지 식별한 다음 NCache for Azure는 요청이 다른 Microsoft Azure 지역으로 리디렉션될 때 ASP.NET 세션을 이동하기로 결정합니다.
다음은 사용할 샘플 구성입니다. NCache 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> |
또한 Azure 다중 지역 ASP.NET 세션 상태 지원을 위한 위치 선호도 구성이 필요합니다.
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> |
점에 유의하시기 바랍니다ncache> 섹션은 각 Azure 지역마다 다릅니다. 즉, 각 지역에는 자체 "PrimaryCache"가 있고 다른 모든 지역 캐시는 "SecondaryCache"로 정의됩니다.
세션 ID를 사용하여 다른 Microsoft Azure 지역으로 요청 리디렉션
모든 Microsoft Azure 지역에서 시작된 모든 ASP.NET 세션은 원래 해당 지역의 기본 캐시에 저장됩니다. 그러나 다른 Microsoft Azure 지역의 요청이 현재 Microsoft Azure 지역으로 리디렉션되면 NCache for Azure 다중 지역 SSP 모듈은 다음을 지능적으로 감지합니다. ASP.NET 세션 상태 다른 Microsoft Azure 지역 중 하나에 상주하고(ASP.NET 세션 ID에 연결된 "sid-prefix" 사용) 원격 Microsoft Azure 지역의 해당 보조 캐시에 자동으로 연결하여 현재 Microsoft Azure 지역의 기본 캐시로 이동합니다. 모든 후속 요청은 이 새 위치에서 제공됩니다.
NCache 세부 정보 NCache Cloud 애저용 시작 설명서
예를 들어 London_Cache를 기본 캐시로 정의한 반면 NewYork_Cache 및 Tokyo_Cache는 런던 사이트의 보조 캐시로 정의했다고 가정합니다. 또한 각각 London_Cache, NewYork_Cache 및 Tokyo_Cache 세션에 해당하는 각 세션 ID에 첨부된 sid-prefix로 "LDC","NYC" 및 "TKC"를 지정합니다. 이제 런던 지역에서 시작된 모든 ASP.NET 세션에는 ASP.NET 세션 ID에 접두사로 "LDC"가 첨부되어 있으며 런던 지역의 기본 캐시인 London_Cache에서 저장 및 제공됩니다. 그러나 요청이 New York 또는 Tokyo와 같은 다른 Microsoft Azure 지역에서 London 지역으로 리디렉션되는 경우 이 ASP.NET 세션 상태는 sid-prefix를 기반으로 즉시 식별되고 ASP.NET 세션 상태는 NewYork_Cache 또는 Tokyo_Cache에서 London_Cache로 전송됩니다. ASP.NET 세션 상태가 런던 지역으로 이동되면 모든 후속 요청은 London_Cache에서 로컬로 제공됩니다.
결론 :
NCache Azure 다중 지역 ASP.NET 세션 상태 지원을 통해 두 개 이상의 활성 Microsoft Azure 지역에 ASP.NET 응용 프로그램을 배포하고 성능에 영향을 미치거나 응용 프로그램 중단 시간을 유발하지 않고 Microsoft Azure 지역 간에 트래픽을 리디렉션할 수 있습니다. 트래픽 오버플로 및 사이트 유지 관리를 처리하기 위해 Microsoft Azure 지역 간에 요청을 원활하게 리디렉션할 수 있습니다.