ASP.NET 세션 상태 공급자 NCache 웹 팜에서

온-프레미스 배포의 경우 ASP.NET 세션 상태는 세 가지 기본 제공 저장소 옵션(InProc, StateServer 및 SqlServer)과 네 번째 "사용자 지정" 옵션을 제공합니다. 처음 두 가지 기본 제공 옵션(InProc 및 StateServer)에는 확장성 문제가 있는 반면 SqlServer 옵션에는 성능 및 확장성 문제가 모두 있습니다.

훨씬 더 나은 전략은 "사용자 지정" 옵션과 플러그인을 사용하는 것입니다. NCache ASP.NET 세션 상태 공급자로. NCache .NET용으로 매우 빠르고 확장 가능한 오픈 소스 분산 캐시입니다. 런타임에 더 많은 캐시 서버를 추가하고 선형적으로 확장할 수 있도록 하여 극심한 트랜잭션 로드를 처리합니다. NCache 또한 지능형 캐시 복제를 제공하므로 웹 서버나 캐시 서버가 다운되는 경우 ASP.NET 세션 상태가 손실되지 않습니다.

문서: ASP.NET 세션 상태 공급자 NCache

ASP.NET 세션 상태 공급자 NCache

Benefits of NCache ASP.NET 세션 상태 공급자

우선, 사용하는 데 필요한 프로그래밍이 없습니다. NCache ASP.NET 세션 상태 공급자로. web.config를 수정하고 지정하기만 하면 됩니다. NCache 세션 상태 공급자(SSP)로. 자세한 내용 보기 ASP.NET 세션 상태 공급자 구성 NCache. 다음은 사용에 대한 몇 가지 이점입니다. NCache ASP.NET 세션 상태 공급자로:

  1. 고가용성: NCache 있다 자가 치유 피어 투 피어 클러스터링 아키텍처 단일 실패 지점이 없습니다. 이는 비즈니스 크리티컬 애플리케이션에 매우 중요한 ASP.NET 세션 상태 스토리지에 100% 가동 시간을 제공합니다.

  2. 선형 확장성: NCache 당신은 할 수 있습니다 캐시 클러스터를 선형으로 확장 클러스터에 더 많은 캐시 서버를 추가하여 이렇게 하면 트랜잭션 용량과 저장 용량이 늘어납니다. 즉, ASP.NET 세션 상태 저장소는 트랜잭션 로드가 많을 때 응용 프로그램에 병목 현상이 발생하지 않습니다.

  3. 지능형 세션 복제: NCache 풍부한 캐싱 토폴로지(Mirrored Cache, Replicated Cache 및 Partition-Replica Cache)를 제공합니다. 지능형 세션 복제 성능과 확장성을 타협하지 않습니다. 이렇게 하면 웹 서버 또는 캐시 서버가 다운될 때 세션 데이터가 손실되지 않습니다.

  4. 빠른 컴팩트 직렬화: NCache 를 제공합니다 빠른 컴팩트 직렬화 이는 일반 .NET 직렬화보다 빠르고 사용할 프로그래밍이 필요하지 않습니다. .NET 클래스를 등록하기만 하면 됩니다. NCache 직렬화 소스 코드를 생성하고 애플리케이션이 캐시에 연결할 때 런타임 시 메모리 내에서 컴파일한 다음 모든 후속 직렬화에 이 컴파일된 코드를 사용합니다.

여러 지역 지원(데이터 센터)

NCache 여러 지역(데이터 센터)에서 실행되는 응용 프로그램의 ASP.NET 세션 상태를 관리하고 여러 지역에서 세션 일관성을 유지하는 두 가지 방법을 제공합니다. 그들은:

  1. ASP.NET 세션 상태의 WAN 복제: NCache 를 제공합니다 브리지 토폴로지 전체 ASP.NET 세션 상태 저장소(분산 캐시)를 WAN을 통해 다른 지역(데이터 센터)에 복제할 수 있습니다. 이렇게 하면 세션이 항상 여러 지역(데이터 센터)에 존재합니다. 활성-수동(재해 복구용) 또는 활성-활성 모드에서 사용할 수 있습니다. 활성-활성에서는 여러 지역(데이터 센터) 간에 트래픽을 로드 밸런싱할 수도 있습니다. 이 모든 것은 구성 변경을 통해 수행됩니다.

  2. 다중 지역 ASP.NET 세션 상태: 대역폭 소비 비용 때문에 WAN을 통해 ASP.NET 세션 상태를 복제하지 않으려면 이것을 사용하도록 선택할 수 있습니다. 다중 사이트 ASP.NET 세션 상태 특징 NCache. 여기에서 ASP.NET 세션 상태는 사이트 간에 복제되지 않고 대신 생성 위치에 유지됩니다. 그러나 한 지역(데이터 센터)에서 다른 지역으로 트래픽을 이동하면 ASP.NET 세션 상태도 함께 이동합니다.

    이를 통해 두 개 이상의 활성 영역(데이터 센터)을 가질 수 있고 대부분의 트래픽을 자체 데이터 센터로 유지하지만 원하는 경우 때때로 다른 데이터 센터로 오버플로할 수 있습니다. 또한 다른 데이터 센터에서 세션에 액세스할 수 있으므로 사용자를 방해하지 않고 하나의 데이터 센터를 중단할 수도 있습니다.

고급 기능 NCache ASP.NET 세션 상태 공급자

NCache ASP.NET 세션 상태 공급자는 모든 표준 ASP.NET 세션 상태 공급자 기능을 구현합니다. 또한 응용 프로그램의 복잡한 상황을 처리할 수 있는 다양한 고급 기능을 제공합니다.

  1. 앱 도메인에서 세션 공유: 여러 앱 도메인을 사용 중이고 각 앱 도메인에 대해 별도의 web.config 파일이 있는 경우 다음에서 동일한 값을 지정합니다. sessionAppId=>"NCacheApp1" 그러면 해당 앱 도메인 간에 세션이 공유됩니다. 다른 세션 앱 ID를 사용하는 경우 세션은 앱 도메인 간에 공유되지 않습니다.

  2. 오류 로깅: 웹 서버의 로그 파일에 오류 로깅을 활성화할 수 있습니다(INSTALL_DIR\NCache\log-files\SessionStoreProvider 폴더)를 지정하여 enableLogs = "true" . 다음을 지정하여 Windows 이벤트 로그에 대한 오류 로깅을 활성화할 수도 있습니다. writeExceptionsToEventLog = "true" .

  3. 표준 세션 잠금: 표준 ASP.NET 세션 잠금 동작은 세션이 잠긴 경우 해당 세션에 대한 다른 요청이 90초(구성 가능) 동안 대기하고 마지막에 강제로 세션 잠금을 해제하는 것입니다. 이 옵션을 다음과 같이 지정할 수 있습니다.

     enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false" 

  4. 향상된 세션 잠금: 로봇이 데이터를 스크랩하고 동시에 수백 또는 수천 개의 요청에 대해 동일한 세션 ID를 사용할 수 있는 트래픽이 많은 ASP.NET 응용 프로그램이 있는 경우 90초 동안 기다리면 사용 가능한 모든 소켓이 묶일 수 있으므로 표준 세션 잠금 옵션을 사용할 여유가 없습니다. 대신 요청을 신속하게 반환하여 실패를 나타내기를 원합니다. 다음과 같이 지정할 수 있습니다.

     enableSessionLocking = "true" sessionLockingRetry = "5" emptySessionWhenLocked = "false" 

    이렇게 하면 5초 간격으로 XNUMX번 재시도한 다음 실패를 나타내기 위해 빈 세션을 반환합니다. 여기에 예외를 던지는 것조차 비용이 많이 듭니다. 이것이 빈 세션이 구현되는 이유입니다. 이 동작은 원래 트래픽이 많은 항공사 웹사이트의 요청에 따라 구현되었습니다.

다음에 무엇을할지?

NCache 세부 정보
다운로드 NCache
맞춤형 데모 요청
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.