문제

현재 단일 서버에서 ASP.NET 웹 응용 프로그램이 실행 중입니다. 이 서버는 CPU 사용법과 관련하여 위험 영역에 도달하려고하며 두 번째 서버를 배포하려고합니다.

세션 상태를 처리하는 가장 좋은 방법은 무엇입니까?

우리는 현재 Inproc을 실행합니다. 그러나 이는 2+ 서버의 옵션이 아닙니다. 때때로 단일 서버를 WLB 회전에서 제외하여 때때로 유지 보수 작업을 수행하려고합니다. 스티커로드 밸런싱을 사용하더라도 WLB 회전에서 서버를 제외하기 전에 모든 사용자가 종료 될 때까지 기다려야합니다.

그래서 나는이 MSDN 페이지를보고 있었다. http://msdn.microsoft.com/en-us/library/ms178586(vs.80).aspx

내 주요 질문은: 상태 서버 모드를 사용하는 경우. 두 서버에 상태 서버를 배포하여 렌디 닝을 보장 할 수 있습니까? 단일 실패 지점을 피하기 위해.

도움이 되었습니까?

해결책

표준 옵션 중 하나를 원한다면 장애 조치 클러스터에서 SQL Server를 사용합니다. btw memcacheddb를 고려해 보셨습니까?

다른 팁

SQL State Server가 더 나은 옵션이 될 것입니다.이 링크가 도움이 될 수 있습니다. SQL 상태 서버. 여러 컴퓨터에서 상태 서버를 실행할 수 있다고 생각하지 않습니다.

스케일 아웃 스테이트 서버 (더 빠르면) 또는 SQL 상태 (더 간단한)를 사용하십시오. 그러나 마이그레이션 후 예외를 얻을 수 있기 때문에 직렬화 가능한 객체를 세션 상태에 저장하는 경우 조심하십시오.

프로젝트 속도를 조사하고 싶을 수도 있습니다 (http://msdn.microsoft.com/en-us/data/cc655792.aspx). CTP3에 있기 때문에 현재 지원이 제한되어 있지만 올해 말에는 RTM이 될 것입니다. 믹스 09 세션을 시청하는 것이 좋습니다. 여기

P2P 세션 스테이트 서버를 살펴 보는 것이 좋습니다. 링크는 다음과 같습니다. http://www.codeproject.com/kb/aspnet/p2pstateserver.aspx

나를 위해 일했습니다. 유일한 단점은 큰 데이터 세트가 있으면 동료들 사이에서 복제하는 데 영원히 걸렸다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top