이 절에서는 세션 복제 작업에 대해 자세히 설명합니다.
웹 요청이 끝날 때 Web Server는 서버 구성 파일 server.xml에 저장된 세션 복제 구성을 통해 세션 데이터를 복사해야 하는지 여부를 결정합니다.
4개의 인스턴스가 클러스터를 이루며 Administration Server에서 세션 복제가 사용 가능한 경우를 생각할 수 있습니다.
4개의 노드에서 실행되는 4개의 인스턴스(A, B, C 및 D)로 이루어진 Web Server 클러스터에서 세션 복제 프로세스는 다음과 같습니다.
인스턴스 A는 D의 백업이고, B는 A의 백업이고, C는 B의 백업이고, D는 C의 백업입니다. 이런 식으로 완전한 백업 링을 형성합니다.
클러스터의 각 인스턴스는 클러스터에 있는 모든 인스턴스의 정적 목록과 활성 백업 인스턴스를 추적합니다.
구성에 따라 각 요청이 끝날 때 세션 데이터가 백업 인스턴스에 동기적으로 전송됩니다.
Web Server 클러스터 환경에서 페일오버 프로세스는 다음과 같습니다.
인스턴스 A가 실패하면 로드 밸런서는 인스턴스 A를 향해 들어오는 모든 웹 요청을 클러스터에 있는 나머지 인스턴스로 리디렉션하고 백업 링을 다음과 같이 다시 구성합니다.
D에서는 백업 A가 중단된 것을 감지하고 순서 목록에서 A 다음에 있는 인스턴스를 새 백업 인스턴스로 선택합니다.
이 경우에는 B가 선택되며, D는 B에 대한 새 백업 연결을 구성합니다. 이제 B에는 읽기 전용 백업 A와 활성 백업 D의 두 가지 백업이 있습니다.
이제 B가 C에 백업되고, C가 D에 백업되고, D가 B에 백업되어 백업 링이 완료됩니다.
실패한 인스턴스 A를 다시 사용할 수 있게 되면 지정된 백업 인스턴스 B에 다시 결합 메시지를 보내 백업 링과 다시 결합하고 B에 대한 백업 연결을 설정합니다.
D는 A로부터 성공적인 핑 반환이나 메시지를 받고 A가 온라인 상태임을 감지합니다.
그런 다음 D는 A에 대한 백업 연결을 설정하고 B에 대한 백업 연결을 종료합니다.
Web Server 7.0은 세션 복제에서 다음 기능을 지원하지 않습니다.
두 개 이상의 인스턴스에서 동시에 장애 복구
두 장애 사이의 간격은 회복된 인스턴스를 완전히 복구하는 데 필요한 시간보다 커야 합니다.
두 개 이상의 인스턴스에 대한 세션 백업. 정상적으로 작동될 경우에는 모든 세션에 대해 기본 세션과 백업 세션이라는 두 개의 복사본만 있습니다.
세션 지속성: 세션은 페일오버를 위해 다른 인스턴스의 메모리에만 백업됩니다.
Web Server는 Java 웹 응용 프로그램의 세션 복제만 지원합니다. CGI 또는 PHP와 같은 비 Java 응용 프로그램을 사용하는 경우에는 세션 데이터를 복제할 수 없습니다.