ASP.NET InProc 세션을 사용하여 부하 분산된 IIS 서버

ASP.NET InProc 세션을 사용하여 부하 분산된 IIS 서버

InProc 세션을 사용하여 ASP.NET 앱이 포함된 Win 2003 서버에서 IIS 6.0 로드 밸런싱을 구성한 사람이 있습니까? 이것이 어떻게 달성될 수 있습니까?

답변1

Windows Server 2003의 일부로 제공되는 NLB 클러스터링을 사용하는 경우 선호도 설정을 찾고 있습니다. 이를 "단일 선호도"로 설정하면 한 IP 주소의 통신이 항상 동일한 서버로 라우팅되므로 클라이언트가 InProc 세션 상태에 액세스할 수 있습니다. 설정 방법에 대한 문서가 있습니다.http://technet.microsoft.com/en-us/library/bb734858.aspx

답변2

로드 밸런싱 장치를 사용하지 않고 InProc 세션을 사용하여 IIS 6 서버의 로드 밸런싱을 해본 적이 없다고 말할 수 없습니다. SQL Server 또는 보다 성능이 뛰어난 사용자 지정 캐시와 같은 일종의 분산 캐시를 사용할 수 없는 경우 부하 분산 장치에서 일종의 "고정 세션" 라우팅을 설정해야 할 것입니다. 이를 통해 웹 사이트를 팜아웃할 수 있지만 각 사용자에 대해 세션 기간 동안 팜에 있는 동일한 특정 서버로 반복적으로 라우팅됩니다. 이를 통해 InProc 세션을 사용할 수 있지만 완벽하게 이상적인 로드 밸런싱을 갖지 못하는 상대적으로 적은 비용이 듭니다.

참고: 이런 종류의 질문에 대한 더 나은 답변은 StackOverflow의 자매 사이트인 www.ServerFault.com에서 얻을 수 있습니다.

답변3

균형을 어떻게 맞추느냐에 따라 달성될 수 있습니다.

많은 밸런서에서는 스틱 세션을 어디로 보낼지 결정하는 방법으로 쿠키를 지정할 수 있지만 이는 사용 중인 하드웨어/소프트웨어 밸런서에 따라 크게 달라집니다. 그것이 당신에게 효과가 있는 유일한 방법입니다.

답변4

상태 관리를 ASP.NET 상태 서비스 또는 SQL Server 상태 데이터베이스에 통합할 수 없는 경우 가장 간단한 방법은 Windows NLB로 웹 팜을 구성하는 것입니다.

http://www.west-wind.com/presentations/loadbalancing/networkloadbalancingwindows2003.asp

관련 정보