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

로드 밸런서 플러그인의 새로운 기능

Sun Java System Application Server 9.1에서는 로드 밸런서의 기능이 더욱 강화되어, 다음과 같은 기능을 통한 향상된 유연성 및 사용 편의성을 제공합니다.

자동 적용

Application Server에서는 관리 콘솔에서 수행한 로드 밸런서의 구성 변경 내용을 자동으로 웹 서버 구성 디렉토리로 전송할 수 있습니다. 이전 버전의 Application Server에서는 로드 밸런서 구성을 내보낸 후 웹 서버 구성 디렉토리로 다시 복사해야 했습니다.

가중 라운드 로빈

로드 밸런서를 사용하면 HTTP 요청 배포를 향상시킬 수 있습니다. 관리자는 '가중치'라는 속성을 사용하여 요청이 비례적으로 인스턴스에 라우팅되는 방법을 지정할 수 있습니다. 예를 들어 클러스터에 두 개의 인스턴스가 있고 관리자가 인스턴스 x에 가중치 100을, 인스턴스 y에 가중치 400을 할당했다고 가정하면100개의 요청 중 20개는 인스턴스 x로 가고 80개는 인스턴스 y로 갑니다.

사용자 정의 로드 균형 조정

Application Server에서는 관리자가 HTTP 요청 배포 정책을 사용자 정의할 수 있습니다. 사용자 정의 정책은 로드 밸런서 플러그인이 사용해야 할 로드 균형 조정 알고리즘을 정의합니다. 즉, HTTP 요청을 처리할 Application Server 인스턴스를 관리자가 정의할 수 있습니다. 이 기능을 사용하려면 공유 라이브러리를 개발해야 하는데, 이 라이브러리는 라이브러리에 제공된 들어오는 요청의 헤더를 특정 기준에 따라 평가하고 요청을 처리할 수 있는 인스턴스를 선택하는 등의 용도로 사용됩니다. 로드 밸런서가 이 공유 라이브러리를 로드합니다.

공유 라이브러리는 appserver_install_dir/lib/install/templates에서 찾을 수 있는 loadbalancer.h에 정의된 대로 인터페이스를 구현해야 합니다.

또한 Application Server는 기본 라운드 로빈 알고리즘을 구현하는 샘플 모듈 roundrobin.c와 함께 제공됩니다. 관리자는 이 샘플 모듈을 템플리트로 사용하여 공유 라이브러리를 구성할 수 있습니다. 이 샘플 모듈은 appserver_install_dir/lib/install/templates에서도 찾을 수 있습니다.

Procedure사용자 정의 로드 균형 조정 구성

  1. appserver_install_dir/lib/install/templatesroundrobin.c를 작업 디렉토리(예: /home/user/workspacelb)로 복사합니다.

  2. roundrobin.c를 ANSI C/C++ 컴파일러(예: Sun Studio 컴파일러 또는 GCC)로 컴파일합니다. 정적 실행 파일이 아니라 동적 공유 라이브러리를 빌드해야 합니다.

    1. Sun Studio CC 컴파일러를 사용하는 경우 다음 명령을 사용하여 컴파일합니다.

      cc -G -I<appserver install dir>/lib/install/templates roundrobin.c -o roundrobin.so
    2. GCC를 사용하는 경우 다음 명령으로 공유 라이브러리를 컴파일합니다.

      gcc -shared -I<appserver install dir>/lib/install/templates 
      roundrobin.c -o roundrobin.so

      주 –

      재배치 오류가 발생하면 "-fPIC" 옵션을 사용하여 다시 컴파일합니다. 명령은 다음과 같습니다.

      gcc -shared -fPIC -I <appserver install dir>/lib/install/templates 
      roundrobin.c -o roundrobin.so

      Microsoft Windows의 경우 http://www.redhat.com/services/custom/cygwin에서 Cygwin 유틸리티를 다운로드합니다. 이 유틸리티에는 GCC가 번들로 함께 제공됩니다. 다음 GCC 명령을 사용하여 동적 링크 라이브러리(dll)를 만듭니다.

      gcc -shared -I<appserver_install_dir>/lib/install/templates 
      roundrobin.c -o roundrobin.dll
  3. loadbalancer.xml이 새로 빌드된 모듈을 가리키도록 변경합니다. 편집한 후 loadbalancer.xml은 다음과 같습니다.

    <cluster name="cluster1" policy="user-defined" 
    policy-module="home/user/workspacelb/roundrobin.so">
  4. roundrobin.so를 웹 서버 인스턴스 디렉토리로 복사합니다.

  5. 웹 서버를 시작하거나(실행 중이 아닐 경우) 로드 밸런서가 다시 구성될 때까지 기다립니다.