다중 사이트 Java 세션 지원
NCache 대역폭 소비 비용으로 인해 WAN을 통해 세션을 복제하지 않으려는 경우 여러 웹 팜(지리적으로 분리되어 있음)에서 서블릿 Java 세션을 관리하는 데 사용할 수 있는 다중 사이트 세션 지속성을 제공합니다.
다중 사이트 세션 지속성을 이해하려면 여러 지역에 걸쳐 로드 밸런싱된 웹 서버 팜에서 실행되는 Java 서블릿 애플리케이션을 고려하십시오. Load Balancer는 사용자 트래픽에 따라 클라이언트를 다른 지역으로 리디렉션할 수 있습니다. Java 세션을 캐시하려면 세션이 지역 간에 복제되도록 클러스터형 캐시가 필요합니다. 이 접근 방식은 WAN을 통한 세션 복제로 인해 적합하지 않을 수 있습니다. 또한 캐싱 노드가 지리적으로 분리되어 있기 때문에 성능 문제가 발생할 수 있습니다.
NCache 다중 사이트 Java 세션
이러한 문제를 해결하기 위해, NCache 다중 사이트 세션의 개념을 제시합니다. 지리적으로 분리된 웹 팜 애플리케이션에서 세션을 캐싱하려면 각 지역에 별도의 캐시를 구성해야 합니다. 각각 CR-1, CR-2, CR-3, CR-4와 같은 별도의 캐시로 구성된 XNUMX개의 지역이 있다고 가정해 보겠습니다. 각 클러스터 캐시에는 웹 팜으로서 자체 클라이언트 세트(Java 서블릿)가 있습니다. 각 클라이언트는 NCache 세션 서블릿 필터. 각 캐시 이름에 대한 사용자 정의 접두사와 함께 기본 캐시(현재 지역 캐시) 및 보조 캐시 세트(다른 지역 캐시 목록)를 지정해야 합니다.
이 구성은 초기화 시 로드됩니다. NCache 세션 제공자 필터. 이러한 방식으로 각 클라이언트는 다른 지역의 캐시를 인식하게 됩니다. 생성된 세션 ID NCache 세션 공급자는 각 지역의 기본 캐시 접두사를 따릅니다. 즉, 기본 캐시의 접두사가 해당 지역의 세션 ID에 추가됩니다. 이러한 클라이언트는 대부분 자체 클러스터 캐시, 즉 기본 캐시에서 세션을 추가, 업데이트 및 가져옵니다. 그러나 때때로 로드 밸런싱을 위해 클라이언트 요청이 다른 지리적 위치의 웹 팜으로 전송될 수도 있습니다. 지금, NCache 기본 캐시 접두사에서 요청을 식별하고 사용자 요청이 이전 캐시에서 동일한 세션에 액세스하도록 허용합니다.
이를 이해하려면 CR-2 지역 캐시의 웹 팜에 대한 요청 경로를 고려해 보세요. 이러한 상황에서, NCache CR-1이 될 세션 ID 접두사를 추출하고 자체 보조 캐시 목록에서 캐시 ID를 검색합니다. 모든 지역 클라이언트는 다른 모든 지역 캐시 세트를 보조 캐시로 가지게 되므로, NCache CR-1 캐시에서 이 세션을 가져옵니다. NCache 현재 기본 캐시 접두사(예: CR-2)를 추가하고 향후 요청을 처리하기 위해 현재 기본 캐시(CR-2)에서 업데이트하여 이 세션의 ID를 업데이트합니다.
클라이언트가 Load Balancer를 통과하는 요청을 한다고 가정해 보겠습니다. 시스템 부하에 따라 세션 요청이 웹팜 내의 Web Server1로 전달된다고 가정해 보겠습니다. 요청이 도착하면 Web Server1 접두사에 세션 ID가 추가된 세션이 생성되고 이 웹 팜의 기본 캐시(이 경우 Replicated Cache1)에 저장됩니다.
Load Balancer가 동일한 클라이언트를 Web Farm2로 라우팅하면, NCache 세션 접두사를 분석합니다. 이 접두사의 도움으로 Web Farm1에 속하더라도 Replicated Cache1에서 세션을 가져옵니다. 이를 통해 두 개 이상의 활성 데이터 센터를 보유하고 대부분의 트래픽을 자체 데이터 센터에 유지하지만 필요한 경우 때때로 다른 데이터 센터로 오버플로될 수 있습니다. 또한 다른 데이터 센터에서 해당 세션에 액세스할 수 있으므로 사용자를 방해하지 않고 데이터 센터 중 하나를 종료할 수도 있습니다. 또는 어떤 이유로든 웹 팜 중 하나가 다운되면 다른 웹 팜이 해당 지역의 캐시에서 사용자 세션에 액세스하기 시작하고 결국 세션 손실을 방지하기 위해 전체 세션 데이터가 다음 지역의 캐시로 이동한다고 말할 수 있습니다. 데이터.
NCache 세션을 저장하기 위해 Java 기반 웹 애플리케이션에 대한 코드 변경 없는 옵션을 제공합니다. NCache 세션 모듈 nc-sessionprovider.jar을 JSP 서블릿 필터로 구현함으로써. 사용하려면 NCache Java 세션 모듈을 사용하려면 Servlet 2.3+ 호환 컨테이너(웹 서버)를 실행해야 합니다. 사용자는 몇 개의 라이브러리를 참조하고 web.xml 모든 요청이 다음을 통해 애플리케이션으로 전달되도록 애플리케이션의 NCache. 다음 J2EE/Jakarta 플랫폼이 지원됩니다.
- 여자 꽁무니를 쫓아 다니다
- 제이보스/야생파리
- 웹로직
- 웹스피어
다중 사이트 세션 모듈을 구성하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 다중 사이트 세션 상태 제공자.