2012-07-03 2 views
0

로드 밸런서가 백엔드에서 다른 웹 서버와 함께 사용될 때 동일한 사용자의 세션이 어떻게 유지됩니까? 즉,로드 밸런서가 여러 서버간에로드를 분배하는 것으로 가정하고 사용자가 세션이 저장되어있는 한 서버로 이동 한 후 다음에 동일한 사용자가 두 번째 서버로 연결될 때를 가정합니다. 서버가 동일한 사용자인지 어떻게 알 수 있습니까? 두 서버에서 같은 사용자라고 유지하는 방법다른 서버 간의 세션 관리

+0

는 ASP.NET 응용 프로그램 또는 PHP를위한이 있습니까? –

+0

일반적인 질문과 나는 단지 그것이 일반적으로 어떻게 완료되었는지, 당신이 말할 수있는 인터뷰 질문과 같은 일반적인 대답을 요구합니다. –

답변

0

세션 저장소 양식 파일을 변경하여 TCP 연결을 처리 할 수있는 다른 시스템 (필자의 경우에는 memcache이지만 mysql을 사용할 수도 있습니다. 그것은)

memcache에 솔루션 : memcache를 확장

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211" 

에 대한

memcached를

session.save_handler = memcached 
session.save_path = "localhost:11211" 
에 대한하지만, 물론, 당신은

가 동일한 서버에 동일한 사용자/클라이언트를 직접 구성 할 수 있습니다 수동 Sessions support

+0

당신의 솔루션에 대해 좀 더 자세히 설명해 주시겠습니까 –

+0

내 대답을 연장했습니다. – pomaxa

0

부하 분산 장치에서이를 확인하여 DNS/IP에 로컬 호스트를 변경해야합니다. SSL과 보안되지 않은 트래픽 사이를 이동할 때만 "까다로운"문제가 발생하지만로드 균형 조정기에서이 트래픽을 구성 할 수 있습니다.

어떤 이유로 든이 작업을 수행 할 수없는 경우 SQL 서버에 세션 상태를 저장하거나 검색 할 수 있습니다. 참조하십시오 this article for direction.