Application Server에서는 HTTP 세션 데이터 및 Stateful Session Bean(SFSB) 세션 데이터의 페일오버를 통해 고가용성 세션 지속성을 제공합니다. 페일오버는 서버 인스턴스 또는 하드웨어 오류가 발생했을 때 또 다른 서버 인스턴스가 분산된 세션을 인계 받음을 의미합니다.
다음 경우에 분산 세션이 여러 Sun Java System Application Server 인스턴스에서 실행될 수 있습니다.
각 서버 인스턴가 동일한 세션 상태 데이터에 액세스할 수 있습니다. Application Server에서는 HTTP 세션 및 Stateful Session Bean 데이터에 대해 다음 유형의 고가용성 저장소를 제공합니다.
클러스터 내 다른 서버의 메모리 내 복제. 메모리 내 복제는 클러스터 프로필에서 기본적으로 활성화됩니다.
메모리 내 복제를 사용하려면 GMS(Group Management Service)가 활성화되어 있어야 합니다. GMS에 대한 자세한 내용은 그룹 관리 서비스를 참조하십시오.
클러스터의 서버 인스턴스가 다른 시스템에 있는 경우 다음 전제 조건을 충족하는지 확인하십시오.
GMS와 메모리 내 복제가 올바르게 작동하려면 시스템이 같은 서브넷에 있어야 합니다.
메모리 내 복제가 올바르게 작동하려면 클러스터 내 모든 시스템의 시스템 클럭이 가능한 한 꼭 맞게 동기화되어야 합니다.
고가용성 데이터베이스(HADB). 이 데이터베이스를 활성화하는 방법에 대한 자세한 내용은 configure-ha-cluster(1)를 참조하십시오.
HADB 소프트웨어는 Sun Java System Application Server의 Application Server 독립 실행형 배포와 함께 제공됩니다. 사용 가능한 Sun Java System Application Server 배포에 대한 자세한 내용은 Sun Java System Application Server 9.1 Installation Guide의 Distribution Types and Their Components를 참조하십시오. HADB 기능은 엔터프라이즈 프로필에서만 사용할 수 있습니다. 프로필에 대한 자세한 내용은 Sun Java System Application Server 9.1 관리 설명서의 사용 프로필을 참조하십시오.
각 서버 인스턴스에 동일한 분산 가능 웹 응용 프로그램이 배포되어 있는 경우. web.xml 배포 설명자 파일의 web-app 요소에 distributable 요소가 포함되어야 합니다.
웹 응용 프로그램은 고가용성 세션 지속성을 사용하는 경우. 분산 불가능 웹 응용 프로그램이 고가용성 세션 지속성을 사용하도록 구성되면 서버는 로그 파일에 오류를 씁니다.
--availabilityenabled 옵션을 true로 설정하고 deploy 또는 deploydir 명령을 사용하여 웹 응용 프로그램을 배포하는 경우. 이러한 명령에 대한 자세한 내용은 deploy(1) 및 deploydir(1)을 참조하십시오.
세션이 페일오버되면 열린 파일 또는 네트워크 연결에 대한 모든 참조가 손실됩니다. 이러한 제한 사항을 고려하면서 응용 프로그램을 코딩해야 합니다.
페일오버를 지원하는 분산 세션에만 특정 객체를 바인딩할 수 있습니다. Servlet 2.4 사양과는 반대로, 페일오버에 대해 지원되지 않는 객체 유형이 분산 세션에 바인딩되면 Sun Java System Application Server에서는 IllegalArgumentException을 발생시킵니다.
페일오버를 지원하는 분산 세션으로 다음 객체를 바인딩할 수 있습니다.
모든 EJB 구성 요소에 대한 로컬 홈 및 객체 참조
같은 위치에 있는 Stateless Session, Stateful Session 또는 Entity Bean 참조
분산된 Stateless Session, Stateful Session 또는 Entity Bean 참조
InitialContext 및 java:comp/env에 대한 JNDI 컨텍스트
UserTransaction 객체그러나 장애가 발생한 인스턴스가 다시 시작되지 않으면 준비된 모든 전역 트랜잭션이 손실되고 제대로 롤백 또는 완결되지 못할 수 있습니다.
일련화 가능 Java 유형
다음 객체 유형은 페일오버를 지원하는 세션에 바인딩할 수 없습니다.
JDBC DataSource
JMS(Java Message Service) ConnectionFactory 및 Destination 객체
JavaMail™ 세션
연결 팩토리
관리 대상 객체
웹 서비스 참조
일반적으로 이러한 객체의 경우 페일오버가 작동되지 않습니다. 그러나 객체가 일련화 가능한 경우 등 일부 경우에 페일오버가 작동될 수 있습니다.