Sun Java System Application Server Enterprise Edition 8.1 2005Q2 고가용성 관리 설명서

고가용성 개요

고가용성 응용 프로그램 및 서비스는 하드웨어 및 소프트웨어 장애 발생 여부에 관계없이 해당 기능을 지속적으로 제공합니다. Application Server는 HTTP 요청 및 세션 데이터(HTTP 세션 데이터와 Stateful Session Bean 데이터)에 대해 고가용성을 제공합니다.

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

로드 밸런서 플러그인

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

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

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

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

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

고가용성 데이터베이스

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

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

하드웨어 구성 결정, 크기 조정 및 토폴로지를 비롯하여 HADB를 통한 고가용성 구현을 위해 응용 프로그램 서버 설치를 계획 및 설정하는 방법에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning GuidePlanning for AvailabilitySun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide의 3 장, Selecting a Topology를 참조하십시오.

고가용성 클러스터

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

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

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

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

클러스터 및 구성

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

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

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

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

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

추가 정보

하드웨어 요구 사항 평가, 네트워크 구성 계획 및 토폴로지 선택을 비롯한 고가용성 배포 계획에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide를 참조하십시오. 이 설명서에는 다음과 같은 개념이 자세히 설명되어 있습니다.

고가용성 기능의 이점을 활용하는 응용 프로그램의 개발 및 배포에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide를 참조하십시오.

고가용성 서버 및 응용 프로그램 조정

고가용성을 구현하여 최상의 성능을 얻을 수 있도록 응용 프로그램 및 Application Server를 구성하고 조정하는 방법에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide를 참조하십시오. 이 설명서에는 다음과 같은 항목이 설명되어 있습니다.