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