2013-08-13 8 views
3

My Team은 다중 서버 설정에서 'in-proc'세션 상태 모드를 사용하고 있습니다. 세션 상태가 각 서버에서 고유하고 공유되지 않기 때문에 이것은 분명히 나에게 맞지 않는 것처럼 보입니다.다중 서버 설정에서 'in-proc'세션 상태 모드?

는 우리는 (. 응용 프로그램의 설정 파일에) 두 서버에서 동일한 시스템 키를 제공하여이 문제를 접근하지만이에 대한 모든 빛이 감사

이 실제로 도움이되지 것입니다 느낌을 ... 가지고있다.

감사합니다.

답변

7

InProc 세션 상태를 사용하는 경우 세션은 요청을 처리 한 서버에 로컬로 저장되므로 두 서버에서 동일한 컴퓨터 키를 사용하면이 용도로 사용되지 않습니다.

이 옵션은 웹 팜 환경에서 사용하기에 적합하지 않습니다. 하나의 팜 컴퓨터는 세션 상태를 저장하지만 다른 세션 컴퓨터는 저장하지 않습니다. 동일한 사용자의 후속 웹 요청이 올바른 세션 상태를 읽지 못할 수 있습니다.

웹 요청이 농장 시스템 A로 라우팅과 요청에 의해 호출 코드가 세션에 저장된 일부 매개 변수에 의존하는 것을 상상해

은 매우 일반적인 시나리오를 생각해 보자. 같은 사용자가 세션 상태에 의존하는 다음 웹 요청에서 시스템 B로 라우팅되면 결과를 예측할 수 없게됩니다. 시나리오 위 해결 할 수 StickySessions라는 뭔가가있다

. 하지만 정말 좋은가요?

이 기능은 클라이언트가 두 번째 요청을 반환하면로드 밸런서가 해당 트래픽을 동일한 웹 서버로 리디렉션 함을 의미합니다. 이는 클라이언트 선호도라고도합니다. 이는 세션 상태를 로컬에 저장하는 웹 서버에서 중요 할 수 있으므로 동일한 방문자가 다시 방문했을 때 요청이 다른 웹 서버로 라우팅 되었기 때문에 해당 사용자와 관련된 상태를 사용할 수 없게하지 않아야합니다.

이것은 웹 팜에서로드 균형 조정의 목적을 완전히 상회합니다.로드 균형 조정기가 현재로드를 기반으로 팜에서 "올바른"컴퓨터를 선택할 수 있도록이 솔루션을 피해야합니다. 완전한 이해 여기를 읽어

는 : http://dotnetcodr.com/2013/07/01/web-farms-in-net-and-iis-part-5-session-state-management/

+1

좋은 설명, 감사 옴하는 AppFabric 세션 상태를 사용할 수 있습니다. 폼 인증 또는 Windows 인증 시나리오 인 경우 차이가 있습니까? 또한 세션 변수에 특별히 저장하지 않으면 여전히 문제가됩니까? – Gadam

+0

Windows 인증은 인트라넷 시나리오를 대상으로합니다. 쿠키를 사용하지 않습니다. 양식 인증은 설정에 따라 쿠키를 사용하거나 사용하지 않을 수 있습니다. 요구 사항에 따라 세션 변수를 선호하거나 선호하지 않을 수도 있습니다. –

+1

이것은 "will ** InProc **가 나를 도와 줍니까?"라는 질문에 대한 답입니다. (아니). 그러나 진짜 질문에 대한 대답은 "내가 대신 무엇을 사용합니까?"** StateServer ** 또는 ** SQLServer **, https://msdn.microsoft.com/en-us/library/ms178586(v=vs.140).aspx를 참조하십시오. – MGOwen