Sun Java Enterprise System 2005Q4 배포 계획 설명서

가용성 전략

Java Enterprise System 배포의 가용성 전략은 다음과 같습니다.

다음 절에서는 다양한 수준의 로드 균형 조정, 페일오버 및 서비스 복제를 제공하는 가용성 솔루션의 예를 설명합니다.

단일 서버 시스템

서비스를 위한 모든 컴퓨팅 자원을 단일 서버에 배치합니다. 서버에 오류가 발생할 경우 전체 서비스가 실패합니다.

그림 5–2 단일 서버 시스템

성능 요구 사항을 충족시키는 10개의 CPU가 있는 단일 서버를 표시합니다.

Sun에서는 다음 이점을 제공하는 고성능 서버를 제공합니다.

고성능 서버는 일반적으로 비슷한 다중 서버 시스템보다 비용이 더 많이 듭니다. 그러나 단일 서버인 경우 데이터 센터의 서버에 대한 관리, 모니터링 및 호스팅 비용을 절약할 수 있습니다. 로드 균형 조정, 페일오버 및 단일 실패 지점 제거는 다중 서버 시스템에서 더 유연합니다.

수평으로 중복된 시스템

로드 균형 조정과 페일오버를 제공하는 병렬로 중복된 서버의 가용성을 늘릴 수 있는 몇 가지 방법이 있습니다. 다음 그림에서는 N+1 페일오버 시스템을 제공하는 두 개의 복제 서버를 설명합니다. N+1 시스템에는 한 서버가 실패할 경우 100% 용량을 제공하는 추가 서버가 있습니다.

그림 5–3 두 서버를 가진 N+1 페일오버 시스템

10개 CPU 성능 요구 사항을 충족시키기 위해 각각 10개의 CPU가 있는 2개의 복제 서버를 보여줍니다.

수평으로 중복된 시스템에서 각 서버의 컴퓨팅 성능은 동일합니다. 하나의 서버만 성능 요구 사항을 처리합니다. 다른 서버는 백업으로 서비스에 호출된 경우 100%의 성능을 제공합니다.

N+1 페일오버 설계의 장점은 페일오버 상황에서 100%의 성능을 유지하는 것입니다. 단점은 하드웨어 비용은 증가하면서도 그에 따른 성능을 모두 얻지 못한다는 것입니다(왜냐하면 한 서버는 오직 페일오버 상황에서만 사용하기 위해 대기하고 있기 때문입니다).

다음 그림은 두 서버 간 성능을 분산하도록 로드 균형 조정에 페일오버를 더하여 구현한 시스템을 보여줍니다.

그림 5–4 두 서버 간 로드 균형 조정 및 페일오버

10개 CPU 성능 요구 사항을 충족시키기 위해 각각 6개의 CPU가 있는 두 서버를 보여줍니다.

수평으로 중복된 시스템에서 설명한 시스템에서 한 서버가 실패하더라도 전체 용량의 일부이긴 하지만 모든 서비스가 여전히 사용 가능합니다. 남은 서버에서 10개 CPU 요구 사항의 60%인 6개 CPU의 컴퓨팅 성능을 제공합니다.

이 설계의 장점은 두 서버를 모두 사용할 수 있는 경우 추가로 2개의 CPU 잠재 용량이 있다는 점입니다.

다음 그림에서는 성능 및 로드 균형 조정을 위한 여러 서버 간의 배포를 보여줍니다.

그림 5–5 n개의 서버 간 로드 배포

10개 CPU 성능 요구 사항을 충족시키기 위해 각각 2개의 CPU가 있는 다섯 개의 서버를 보여줍니다.

수평으로 중복된 시스템과 같이 이 설계에 다섯 개의 서버가 있기 때문에 한 서버가 실패할 경우 나머지 서버에서 10개 CPU 성능 요구 사항의 80%인 총 8개 CPU의 컴퓨팅 성능을 제공합니다. 설계에 2개 CPU 용량을 가진 서버를 추가할 경우 결과적으로 N+1 설계가 됩니다. 한 서버가 실패하면 나머지 서버에서 성능 요구 사항의 100%를 충족시킵니다.

이 설계에는 다음과 같은 장점이 있습니다.

그러나 서버를 추가할 경우 관리 및 유지 보수 비용이 상당히 늘어날 수 있습니다. 또한 데이터 센터에 서버를 호스팅하는 비용을 고려해야 합니다. 일정 시점이 되면 서버 추가에 따른 수익이 줄어들기 시작합니다.

Sun Cluster 소프트웨어

높은 수준의 가용성이 필요한 경우(예: 4개 또는 5개의 9) Sun Cluster 소프트웨어를 가용성 설계의 일부로 고려할 수 있습니다. 클러스터 시스템은 저장소 및 기타 네트워크 자원이 있는 중복 서버를 연결한 것입니다. 클러스터의 서버들은 서로 계속해서 통신합니다. 한 서버가 오프라인이 될 경우 클러스터의 나머지 장치에서 해당 서버를 격리하고 실패한 노드의 응용 프로그램이나 데이터를 다른 노드로 페일오버합니다. 이 페일오버 프로세스는 시스템 사용자의 서비스를 방해하지 않고 비교적 빠르게 수행됩니다.

Sun Cluster 소프트웨어는 추가 전용 하드웨어와 구성, 관리 및 유지 보수를 위한 특수 기술이 필요합니다.