콜렉터, Manifest 및 선택기를 함께 사용하여 런타임에서
프로젝트 또는 단계에 대한 서버 자원을 선택할 수 있습니다.
다음 세 개의 서로 다른 데이터 오브젝트는 시스템이 동적으로 서버를 선택할 수 있게 합니다.
- 콜렉터는 시스템이 서버 자원에서 수집하거나 서버
자원에 지정하는 특성 세트를 정의하는 오브젝트입니다. 시스템은
서버 자원의 특성을 확인할 때 콜렉터를 실행합니다.
수집된 특성 값은 Manifest에 저장됩니다.
- Manifest는 특정 서버의 특성 목록입니다. Manifest에는 콜렉터 실행 결과가 포함됩니다.
- 선택기는 특성과 비교식의 목록입니다(예:
MEM_TOTAL = 512). 시스템은 선택기 특성과 Manifest를 비교하여
서버가 특정 선택기 요구사항을 충족하는지 여부를 확인할 수
있습니다. 프로젝트와 단계는 선택기를 해당 특성 중 하나로 지정합니다.
프로젝트 또는 단계가 실행될 때 실행될 서버 자원을 선택하기
위해 정의된 모든 서버 자원의 Manifest와 선택기가
비교됩니다.
다음 예제는 단순 선택기 작성 및 사용 방법을 보여줍니다.
- Mercury라는 서버 자원을 작성하고
에이전트와 연관시키십시오.
- Mercury라는 선택기를 작성하십시오. BF_NAME = Mercury로
서버를 선택하도록 설정하십시오.
- Lincoln이라는 프로젝트를 작성하십시오. 프로젝트에
Mercury 선택기를 지정하십시오.
Lincoln 프로젝트를 실행하면 시스템에서
Mercury라는 서버 자원을 선택합니다. 해당 서버
자원을 사용할 수 없으면 프로젝트가 실패합니다.
다음 예제는 서버 세트에서 동적 서버
선택사항을 설정하는 방법을 보여줍니다.
- RAMSIZE라는 콜렉터를 작성하십시오. 빌트인 특성
MEM_TOTAL을 수집하도록 콜렉터를 설정하십시오.
- 호스트와 연관시킬 서버 자원을 작성하십시오. 각
자원이 RAMSIZE 콜렉터를 사용하도록 설정하십시오.
- Mercury(RAM에 512MB인 호스트)
- Mars(RAM이 1GB인 호스트)
- Jupiter(RAM이 3GB인 호스트)
- BigRam이라는 선택기를 작성하십시오. 표준 특성,
특성=MEM_TOTAL, 연산자=GE(크거나 같음) 및 값=2048을 선택하도록
설정하십시오. MEM_TOTAL은 MB 단위로 표시됩니다. 이
선택기는 RAM이 2GB 이상인 호스트만 선택합니다.
- SmallRam이라는 선택기를 작성하십시오. 표준 특성인
property=MEM_TOTAL, Operator=GE(크거나 같음) 및 Value=256을
선택하도록 설정하십시오. 이 선택기는 256MB 이상의 RAM을 갖는
호스트만 선택합니다.
- 다음 두 프로젝트를 작성하십시오.
- HighMaint: BigRam 선택기를 사용하려면 이 프로젝트를 설정하십시오.
- LowMaint: SmallRam 선택기를 사용하려면 이 프로젝트를 설정하십시오.
HighMaint를 실행하면 시스템은 Jupiter 서버를 선택합니다.
이 서버는 2GB 이상의 RAM을 갖는다는 선택기 요구사항을 충족시키는
유일한 서버이기 때문입니다.
LowMaint를 실행하면 시스템에서 사용
가능한 세 개 서버 자원을 선택합니다.
나중에 2GB의 RAM을 갖는 호스트에 대해 Neptune이라는 서버
자원을 추가한 후 다음 HighMaint 프로젝트가 실행되면 Neptune 또는
Jupiter 중 하나가 프로젝트에 대해 선택됩니다. 어떠한 이유로 Jupiter
작동이 중지되면 선택기에 적합한 유일한 서버인 Neptune이
선택됩니다.