이 절에서는 Sun Cluster Geographic Edition 소프트웨어가 관리하는 응용 프로그램 작성 시 따라야 하는 안내 사항을 설명합니다.
Sun Cluster Geographic Edition 소프트웨어가 관리하는 응용 프로그램을 작성하기 전에 응용 프로그램의 가용성을 높이거나 확장 가능하도록 응용 프로그램이 다음 요구 사항을 만족해야 합니다.
응용 프로그램이 모든 요구 사항을 충족시키지 못할 경우, 응용 프로그램의 가용성을 높이거나 확장 가능하도록 소스 코드를 수정합니다.
네트워크 인식(클라이언트-서버 모델) 및 네트워크 비인식(클라이언트 없는) 응용 프로그램은 모두 Sun Cluster Geographic Edition 환경에서 가용성을 높이거나 확장 가능할 수 있습니다. 그러나 Sun Cluster Geographic Edition는 telnet 또는 rlogin을 통해 액세스하는 서버에서 응용 프로그램이 실행되는 시간 공유 환경에서는 향상된 가용성을 제공할 수 없습니다.
응용 프로그램은 충돌을 허용해야 합니다. 즉, 노드가 예기치 않게 사용 불능이 된 후 응용 프로그램을 시작하면 필요한 경우 디스크 데이터를 복구해야 합니다. 또한 충돌 후 복구 시간을 바인드해야 합니다. 디스크 복구 및 응용 프로그램 다시 시작 기능은 데이터 무결성 관련 문제이므로 충돌 허용은 고가용성 응용 프로그램을 만들기 위한 필수 조건입니다. 데이터 서비스의 연결 복구 기능은 필요 없습니다.
응용 프로그램은 해당 응용 프로그램이 실행되는 노드의 물리적 호스트 이름에 의존해서는 안 됩니다.
여러 IP 주소가 활성으로 구성된 환경에서 응용 프로그램이 제대로 작동해야 합니다. 예를 들어, 둘 이상의 공용 네트워크에 노드가 있는 다중 홈 호스트 환경 및 하나의 하드웨어 인터페이스에 여러 논리 인터페이스가 활성 상태로 구성되어 있는 노드 환경이 있습니다.
응용 프로그램 이진과 라이브러리는 각 노드나 클러스터 파일 시스템에 로컬로 위치할 수 있습니다. 클러스터 파일 시스템에 위치할 경우 한 번만 설치하면 된다는 장점과 Sun Cluster 소프트웨어에서 롤링 업그레이드 수행 시, RGM(Resource Group Manager) 제어 하에 응용 프로그램이 실행 중인 동안에는 바이너리가 사용 중이라는 단점이 있습니다.
첫 번째 시도가 시간 초과된 경우, 자동으로 조회를 다시 시도할 수 있는 용량이 클라이언트에 있어야 합니다. 응용 프로그램과 프로토콜에서 이미 단일 서버 충돌 및 재부트를 처리한 경우에는 장애 복구 또는 전환되는 자원 그룹이 포함된 경우도 처리할 수 있습니다.
응용 프로그램의 클러스터 파일 시스템에 UNIX® 도메인 소켓이나 명명된 파이프가 없어야 합니다.
확장 가능 서비스는 다음 추가 요구 사항 뿐만 아니라 고가용성에 대한 선행 조건을 모두 만족시켜야 합니다.
응용 프로그램에 여러 인스턴스를 실행할 수 있는 기능이 있어야 합니다. 이 인스턴스는 모두 클러스터 파일 시스템의 동일한 응용 프로그램 데이터에서 작동합니다.
응용 프로그램에서는 여러 노드에서 동시에 액세스하기 위해 데이터 일관성을 제공해야 합니다.
응용 프로그램에서는 클러스터 파일 시스템 같이 전역적으로 볼 수 있는 기법이 있는 충분한 잠금을 구현해야 합니다.
확장 가능 서비스의 경우 응용 프로그램 특성에서 로드 균형 조정 정책도 결정합니다. 예를 들어, 인스턴스가 클라이언트 요청에 응답할 수 있도록 허용하는 로드 균형 조정 정책 Lb_weighted는 클라이언트 연결을 위해 서버의 메모리 내장 캐시를 사용하는 응용 프로그램에는 작동하지 않습니다. 이 경우 지정된 클라이언트의 트래픽을 응용 프로그램의 한 인스턴스로 제한하는 로드 균형 조정 정책을 지정해야 합니다. 로드 균형 조정 정책 Lb_sticky 및 Lb_sticky_wild는 클라이언트의 모든 요청을 동일한 응용 프로그램 인스턴스로 반복해서 전송하며 이 인스턴스에서 메모리 내장 캐시를 사용할 수 있습니다. 서로 다른 클라이언트에서 여러 클라이언트 요청이 올 경우 RGM은 서비스 인스턴스 간에 요청을 분산시킵니다.
확장 가능한 데이터 서비스에 대한 로드 균형 조정 정책 설정에 대한 자세한 내용은 Sun Cluster Data Services Developer’s Guide for Solaris OS의 2 장, Developing a Data Service를 참조하십시오.
응용 프로그램은 다음 데이터 복제 요구 사항을 만족해야 합니다.
복제된 정보는 특정 호스트 또는 클러스터에 대한 것이 아니어야 합니다.
원격 사이트에 응용 프로그램이 장애 복구될 때 이 응용 프로그램은 다른 IP 주소를 호스트에서 실행할 수 있습니다. 클라이언트가 원격 사이트를 찾도록 허용하려면 Sun Cluster Geographic Edition 작업 스크립트를 사용하여 DNS/NIS 매핑을 업데이트합니다.
응용 프로그램의 어떠한 데이터 손실도 허용하지 않으려면 응용 프로그램에서 동기화 복제를 사용해야 합니다.