소개

본 장에서는 호스트 매니저에 대한 기본 개념에 대해서 설명한다.

1. 개요

SuperFrame Master는 여러 머신에 프로그램 인스턴스를 추가하고 상태를 관리할 수 있다. 이때 각 머신마다 인스턴스를 실행하고 모니터링하는 도구가 실행되어 있어야 하는데, 이것이 호스트 매니저(Host Manager)이다. 호스트 매니저는 마스터와 통신하며 프로그램 인스턴스의 관리를 돕는다. 각각의 호스트 매니저에 의해 관리되는 머신 환경을 호스트(Host)라고 부른다.

호스트 매니저에서는 등록된 프로그램을 실행하고 생성된 프로세스를 관리한다. 호스트 매니저에서 실행하는 프로그램의 종류를 엔진(Engine)이라고 하며, 프로세스를 실행하여 관리하는 단위를 인스턴스(Instance)라고 한다. 예를 들어, SuperFrame 환경의 호스트 매니저는 JEUS 엔진의 서버 인스턴스를 여러 개 생성하여 관리할 수 있다.

2. 디렉터리 구조

다음은 호스트 매니저를 설치했을 때의 전체 디렉터리 구조와 파일에 대한 설명이다.

$(SUPERFRAME_HOME)
 |---- bin
 |      |-- startHostManager
 |      |-- stopHostManager
 |---- config
 |      |-- hostmanager.yml
 |      |-- log4j2.xml
 |---- data
 |---- engine
 |---- lib
 |      |-- hostmanager.jar
 |----  logs
{SUPERFRAME_HOME}

호스트 매니저를 설치하는 최상위 디렉터리로 실제 디렉터리 이름과 위치는 설치할 때 결정된다.

bin

호스트 매니저의 시작 및 종료 스크립트인 startHostManager, stopHostManager와 같은 실행 파일들이 위치한다.

config

환경설정 파일인 hostmanager.yml 파일과 로거 설정 파일인 log4j2.xml이 위치한다.

data

호스트 매니저에서 관리중인 인스턴스 정보를 보관하는 파일 db가 저장되는 위치이다.

engine

JEUS_HOME 등의 엔진 홈이 환경변수로 지정되지 않았을 경우, engine 디렉토리 내에 각 엔진의 홈 디렉토리가 있다고 가정하고 실행된다. (예: engine/jeus/ )

lib

호스트 매니저가 기동하는 데 필요한 라이브러리가 존재한다.

logs

호스트 매니저 로그 및 각 인스턴스의 프로세스 standard output 로그가 저장되는 위치이다.