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

HTTP 상태 검사기 만들기

로드 밸런서의 상태 검사기는 비정상으로 표시되는 모든 구성된 Application Server 인스턴스를 주기적으로 검사합니다. 상태 검사기는 필수가 아닙니다. 그러나 상태 검사기가 없거나 상태 검사기가 비활성화된 경우 비정상 인스턴스의 정기적인 상태 검사가 수행되지 않습니다. 로드 밸런서는 비정상 인스턴스가 정상이 되는 시점을 확인할 수 없습니다.

로드 밸런서의 상태 검사 메커니즘은 HTTP를 사용하여 Application Server 인스턴스와 통신합니다. 상태 검사기는 지정한 URL에 HTTP 요청을 보내고 응답을 기다립니다. HTTP 응답 헤더의 상태 코드가 100과 500 사이에 있으면 인스턴스가 정상임을 의미합니다.


주 –

로드 밸런서가 클라이언트 인증서 인증이 활성화된 보안 포트 사용 인스턴스가 있는 클러스터의 프런트엔드인 배포 시나리오에서는 상태 검사기가 인스턴스의 상태 검사를 수행할 수 없습니다. 따라서 해당 인스턴스는 항상 비정상 상태로 표시되고 요청이 전송되지 않습니다.


상태 검사기 만들기

상태 검사기 등록 정보를 지정하려면 관리 콘솔 또는 asadmin create-http-health-checker 명령을 사용할 수 있습니다. 관리 콘솔에서 이 작업을 수행하려면 HTTP 로드 밸런서 노드로 이동하여 노드를 확장하고 로드 밸런서를 선택합니다. 그런 다음 대상 탭을 열고 대상 테이블에서 원하는 대상의 상태 검사기 편집 링크를 누릅니다. 다음 매개 변수를 지정합니다.

표 5–2 상태 검사기 매개 변수

매개 변수 

설명 

기본값 

로드 밸런서 

선택한 서버를 로드 균형 조정에 사용할 수 있게 하려면 사용 가능 확인란을 누릅니다. 

False/사용 안 함 

비활성화 시간 초과 

이 서버가 비활성화된 후 정지 상태에 도달하는 데 걸리는 시간(분)입니다. 

30분 

url 

로드 밸런서가 검사하여 상태를 확인할 수신기의 URL을 지정합니다.  

“/” 

interval 

인스턴스의 상태 검사가 발생하는 간격(초)을 지정합니다. 0을 지정하면 상태 검사기가 비활성화됩니다. 

30초 

timeout 

수신기를 정상으로 간주하기 위해 응답을 받아야 하는 시간 초과 간격(초)을 지정합니다.  

10초 

Application Server 인스턴스가 비정상으로 표시되면 상태 검사기는 비정상 인스턴스를 폴링하여 인스턴스가 정상적으로 되었는지 확인합니다. 상태 검사기는 지정된 URL을 사용하여 모든 비정상 Application Server 인스턴스를 검사하고 정상 상태로 되었는지 확인합니다.

상태 검사기에 비정상 인스턴스가 정상이 되었음을 확인하면 해당 인스턴스는 정상 인스턴스 목록에 추가됩니다.

명령에 대한 자세한 내용은 create-http-health-checker(1)delete-http-health-checker(1)를 참조하십시오.

정상 인스턴스에 대한 추가 상태 검사 등록 정보

create-http-health-checker로 만든 상태 검사기만 비정상 인스턴스를 검사합니다. 정상 인스턴스를 정기적으로 검사하려면 내보낸 loadbalancer.xml 파일에 추가 등록 정보를 설정합니다.


주 –

이러한 등록 정보는 loadbalancer.xml을 내보낸 후에 수동으로 편집해야만 설정할 수 있습니다. 사용할 수 있는 동등한 asadmin 명령이 없습니다.


정상 인스턴스를 검사하려면 다음 등록 정보를 설정합니다.

표 5–3 상태 검사기 수동 등록 정보

등록 정보 

정의 

active-healthcheck-enabled

정상 서버 인스턴스를 핑하여 정상인지 확인할지 여부를 나타내는 True/false 플래그입니다. 서버 인스턴스를 핑하려면 플래그를 true로 설정합니다. 

number-healthcheck-retries

서버 인스턴스를 비정상으로 표시하기 전에 로드 밸런서의 상태 검사기가 응답이 없는 서버 인스턴스를 핑하는 횟수를 지정합니다. 유효한 값은 1과 1000 사이입니다. 설정된 기본값은 3입니다. 

loadbalancer.xml 파일을 편집하여 등록 정보를 설정합니다. 예를 들면 다음과 같습니다.

<property name="active-healthcheck-enabled" value="true"/>
<property name="number-healthcheck-retries" value="3"/>

이러한 등록 정보를 추가한 다음 loadbalancer.xml 파일을 편집하여 다시 내보낼 경우 새로 내보낸 구성에는 이러한 등록 정보가 없습니다. 새로 내보낸 구성에 이러한 등록 정보를 다시 추가해야 합니다.