Application Servers & Java

JBoss EAP Domain 모드 구성 및 클러스터링 설정 실습

midworker 2025. 5. 16. 22:34
반응형

JBoss EAP Domain 모드 구성 및 클러스터링 설정 실습

앞서 2편까지는 JBoss EAP의 Standalone 모드 중심으로 설치와 설정을 다뤘습니다.
이번 3편에서는 Domain 모드의 구성 원리, 클러스터링 설정, 그리고 멀티 인스턴스 관리 실습을 진행합니다.


✅ Domain 모드란?

Domain 모드는 여러 서버 인스턴스를 하나의 중앙 관리 콘솔로 통합 관리하는 모드입니다.

🔹 구성 요소

구성 설명
Domain Controller 전체 도메인을 관리하는 중심 인스턴스
Host Controller 서버 그룹을 구성하고 DC로부터 설정을 전달받음
Server Group 동일한 설정을 공유하는 서버 인스턴스 집합

✅ Domain 디렉터리 구조

jboss-eap-7.0/domain/
├── configuration/
│   ├── domain.xml        # 전체 서버 그룹 구성
│   ├── host.xml          # 각 호스트 인스턴스별 설정
│   └── host-master.xml   # Domain Controller
├── log/
├── servers/
└── tmp/

✅ Domain 모드 기동 명령

cd $JBOSS_HOME/bin
./domain.sh

접속 주소

  • 관리 콘솔:
    http://localhost:9990/console

기본 포트는 Standalone과 동일하며, 구성에 따라 변경 가능


✅ 서버 그룹 구성 예시 (domain.xml)

<server-groups>
  <server-group name="group1" profile="full">
    <jvm name="default">
      <heap size="1024m" max-size="2048m"/>
    </jvm>
    <deployments>
      <deployment name="myapp.war" runtime-name="myapp.war"/>
    </deployments>
  </server-group>
</server-groups>

✅ 클러스터링 구성

🔹 세션 클러스터링

  • Infinispan, JGroups 기반
  • <distributable/> 태그로 WAR에 세션 복제 활성화
<!-- web.xml -->
<distributable/>
<!-- domain.xml / infinispan 설정 -->
<cache-container name="web" ...>
  <replicated-cache name="session-cache"/>
</cache-container>

✅ 멀티 호스트 구성 예시

호스트 역할
master Domain Controller + Host Controller
slave1 Host Controller (관리 대상)
# master 호스트
./domain.sh

# slave1 호스트
./domain.sh --host-config=host-slave.xml --master-address=192.168.0.10

✅ 배포 전략 (Domain 모드)

  • 배포는 server-group 단위로 수행
  • 배포 명령 또는 콘솔에서 .war 업로드
# CLI에서 배포 예시
$JBOSS_HOME/bin/jboss-cli.sh --connect
deploy myapp.war --server-groups=group1

✅ 모니터링 포인트

항목 확인 방법
서버 상태 콘솔 Dashboard 또는 CLI
로그 $JBOSS_HOME/domain/servers/<서버명>/log/
세션 복제 여부 서버 간 로그인 세션 유지 확인
클러스터 노드 JGroups 로그 또는 콘솔 상태에서 확인 가능

✅ 마무리

JBoss EAP의 Domain 모드는 엔터프라이즈 환경에서 복수 인스턴스 운영과 클러스터링을 중앙 집중형으로 관리할 수 있는 구조입니다.
구성만 어렵지 않다면 운영 편의성과 확장성이 크게 향상됩니다.

반응형