Sun Java System Application Server 9.1 고가용성 관리 설명서

Application Server에서 고가용성을 제공하는 방법

Application Server는 다음의 하위 구성 요소 및 기능을 통해 고가용성을 제공합니다.

로드 밸런서 플러그인

로드 밸런서 플러그인은 HTTP/HTTPS 요청을 받아들인 후 클러스터의 응용 프로그램 서버 인스턴스로 전달합니다. 한 인스턴스에 오류가 발생하거나 네트워크 결함 때문에 사용할 수 없게 되거나 응답하지 않으면, 로드 밸런서는 기존에 있던 사용 가능한 시스템으로 요청을 리디렉션합니다. 또한 로드 밸런서는 실패한 인스턴스가 복구되었을 때를 인식하고 그에 따라 로드를 재분산할 수 있습니다. Application Server에는 Sun Java System Web Server, Apache Web Server 및 Microsoft Internet Information Server용 로드 밸런서 플러그인이 제공됩니다.

로드 밸런서는 여러 물리적 시스템으로 작업 로드를 분산시켜 전반적인 시스템 처리량을 늘립니다. 또한 HTTP 요청의 페일오버를 통해 보다 높은 가용성을 제공합니다. HTTP 세션 정보가 지속되려면 HTTP 세션 지속성을 구성해야 합니다.

상태 비보존형의 경량 응용 프로그램의 경우 로드 균형이 조정된 클러스터만으로 충분할 수 있습니다. 그러나 세션 상태를 포함하는 업무에 중요한 응용 프로그램의 경우 HADB와 함께 로드 균형이 조정된 클러스터를 사용하십시오.

로드 균형 조정에 참여하는 서버 인스턴스와 클러스터의 환경은 같습니다. 일반적으로 이것은 서버 인스턴스가 동일한 서버 구성을 참조하고, 동일한 물리적 자원에 액세스할 수 있으며, 서버 인스턴스에 동일한 응용 프로그램이 배포되어 있다는 것을 의미합니다. 동일한 환경은 작업 실패 전과 후에 로드 밸런서가 클러스터의 활성 인스턴스에 항상 로드를 균등하게 분산합니다.

로드 균형 조정 및 페일오버 구성에 대한 자세한 내용은 5 장, HTTP 로드 균형 조정 구성을 참조하십시오.

세션 상태 데이터 저장소

세션 상태 데이터를 저장하면 클러스터에서 서버 인스턴스의 페일오버가 이뤄진 후 세션 상태를 복구할 수 있습니다. 세션 상태를 복구하면 정보 손실 없이 세션을 계속할 수 있습니다. Application Server에서는 HTTP 세션 및 Stateful Session Bean 데이터에 대해 다음 유형의 고가용성 저장소를 제공합니다.

클러스터 내 다른 서버의 메모리 내 복제

다른 서버의 메모리 내 복제 기능은 HADB와 같은 별도의 데이터베이스를 사용할 필요 없이 가벼운 세션 상태 데이터 저장소를 제공합니다. 이러한 유형의 복제에는 HTTP 세션 및 Stateful Session Bean 데이터의 고가용성 저장소를 위해 다른 서버의 메모리가 사용됩니다. 클러스터링된 서버 인스턴스는 링 토폴로지에서 세션 상태를 복제합니다. 각 백업 인스턴스는 복제된 데이터를 메모리에 저장합니다. 다른 서버의 메모리에 있는 세션 상태 데이터를 복제하여 세션을 배포할 수 있습니다.

메모리 내 복제를 사용하려면 GMS(Group Management Service)가 활성화되어 있어야 합니다. GMS에 대한 자세한 내용은 그룹 관리 서비스를 참조하십시오.

클러스터의 서버 인스턴스가 다른 시스템에 있는 경우 다음 전제 조건을 충족하는지 확인하십시오.

고가용성 데이터베이스


주 –

HADB 소프트웨어는 Sun Java System Application Server의 Application Server 독립 실행형 배포와 함께 제공됩니다. 사용 가능한 Sun Java System Application Server 배포에 대한 자세한 내용은 Sun Java System Application Server 9.1 Installation GuideDistribution Types and Their Components를 참조하십시오. HADB 기능은 엔터프라이즈 프로필에서만 사용할 수 있습니다. 프로필에 대한 자세한 내용은 Sun Java System Application Server 9.1 관리 설명서사용 프로필을 참조하십시오.


Application Server에서는 HTTP 세션 및 Stateful Session Bean 데이터의 고가용성 저장을 위해 고가용성 데이터베이스(HADB)를 제공합니다. HADB는 로드 균형 조정, 페일오버 및 상태 보존형 복구 등을 통해 최고 99.999%의 서비스 및 데이터 가용성을 지원하도록 설계되었습니다. 일반적으로 HADB는 Application Server와는 별도로 구성하고 관리해야 합니다.

Application Server와 별도로 상태 관리를 수행하면 큰 이점을 얻을 수 있습니다. Application Server 인스턴스는 외부 고가용성 상태 서비스에 상태 복제를 위임하는 확장 가능하고 성능이 뛰어난 응용 프로그램 컨테이너의 역할을 수행합니다. 이와 같이 구조가 느슨하게 결합되어 있으므로 Application Server 인스턴스를 클러스터에서 아주 쉽게 추가 또는 삭제할 수 있습니다. HADB 상태 보존형 복제 서비스는 최적의 가용성 및 성능을 위해 독립적으로 확장될 수 있습니다. 또한 Application Server 인스턴스가 복제를 수행하면 Java EE 응용 프로그램의 성능이 저하될 수 있으며 가비지 모음이 더 오랫 동안 중단될 수 있습니다.

하드웨어 구성 결정, 크기 조정 및 토폴로지를 비롯하여 HADB를 통한 고가용성 구현을 위해 Application Server 설치를 계획 및 설정하는 방법에 대한 자세한 내용은 Sun Java System Application Server 9.1 배포 계획 설명서Planning for AvailabilitySun Java System Application Server 9.1 배포 계획 설명서의 3 장, 토폴로지 선택를 참조하십시오.

고가용성 클러스터

클러스터는 하나의 논리 엔티티로 함께 작동하는 Application Server 인스턴스 모음입니다. 클러스터는 하나 이상의 Java EE 응용 프로그램에 런타임 환경을 제공합니다. 고가용성 클러스터는 상태 보존형 응용 프로그램 서비스를 클러스터 및 로드 밸런서에 통합합니다.

클러스터를 사용하면 다음과 같은 이점을 얻을 수 있습니다.

클러스터의 모든 인스턴스는 다음과 같습니다.

도메인의 모든 클러스터에는 고유한 이름이 있습니다. 여기서 이 이름은 모든 노드 에이전트 이름, 서버 인스턴스 이름 및 구성 이름에 대해 고유해야 합니다. 또한 이름은 domain으로 지정할 수 없습니다. 클러스터링되지 않은 서버 인스턴스에서 수행하는 것과 동일한 작업(예: 응용 프로그램 배포 및 자원 작성)을 클러스터에서 수행합니다.

클러스터 및 구성

클러스터의 설정은 다른 클러스터와 공유될 수 있는 명명된 구성에서 파생됩니다. 다른 서버 인스턴스나 클러스터와 구성을 공유하지 않는 클러스터는 독립 실행형 구성 을 갖는다고 할 수 있습니다. 기본적으로 이 구성의 이름은 cluster_name -config입니다. 여기서 cluster_name은 클러스터의 이름입니다.

다른 클러스터나 인스턴스와 구성을 공유하는 클러스터는 공유 구성을 갖는다고 할 수 있습니다.

클러스터, 인스턴스, 세션 및 로드 균형 조정

클러스터, 서버 인스턴스, 로드 밸런서 및 세션은 다음과 같이 관련되어 있습니다.

클러스터는 클러스터 내 서버 인스턴스의 세션 페일오버에 대한 안전한 경계 역할을 합니다. 로드 밸런서를 사용하여 서비스 손실 없이 Application Server 내에서 구성 요소를 업그레이드할 수 있습니다.