Application Servers & Java

WebLogic Coherence 설정과 클러스터링 구성 및 모니터링 팁

midworker 2025. 5. 17. 13:55
반응형

WebLogic Coherence 설정과 클러스터링 구성 및 모니터링 팁

WebLogic 12c는 고가용성(HA) 환경을 위해 클러스터링Oracle Coherence 기능을 함께 제공합니다.
이번 글에서는 Coherence 설정 방식, 클러스터 구성 절차, 그리고 실무에서 필요한 모니터링 포인트를 정리합니다.


✅ Coherence란?

Oracle Coherence는 Java 기반의 인메모리 데이터 그리드(In-Memory Data Grid) 솔루션으로,
세션 클러스터링, 캐시 공유, 분산 처리 기능을 WebLogic과 통합하여 제공합니다.


✅ Coherence 설치 여부 확인

WebLogic 설치 시 다음 옵션이 있다면 Coherence 포함 버전입니다:

Complete with Examples (includes Coherence)

설치 디렉토리 내 Coherence 존재 확인:

$MW_HOME/coherence/lib/coherence.jar

✅ Coherence 클러스터 구성 절차

1. 콘솔에서 Coherence Cluster 생성

Domain Structure > Environment > Coherence Cluster > New
  • 이름: CoherenceCluster1
  • Multicast Address: 예) 239.192.0.0
  • Port: 7574

2. Managed Server에 클러스터 할당

Servers > [ms01] > Configuration > Coherence > Cluster 선택

→ 서버 재시작 필요


3. Coherence 설정 확인

  • config.xml에 Coherence 관련 설정이 추가됨
  • setDomainEnv.sh에 Coherence 관련 JAVA_OPTS 추가 가능
JAVA_OPTIONS="${JAVA_OPTIONS} -Dtangosol.coherence.cluster=CoherenceCluster1"

✅ 클러스터링 구성 요약

필수 구성 요소

항목 설명
AdminServer 클러스터 통제
ManagedServer 클러스터 멤버 (ms01, ms02 등)
Node Manager 서버 원격 제어 및 자동화
Shared Session 설정 weblogic.xml<persistent-store-type> 사용

✅ Session Clustering 설정 (web.xml + weblogic.xml)

<!-- web.xml -->
<session-config>
  <session-timeout>30</session-timeout>
</session-config>
<!-- weblogic.xml -->
<session-descriptor>
  <persistent-store-type>replicated_if_clustered</persistent-store-type>
</session-descriptor>
  • 클러스터링 구성된 서버 간 세션이 자동으로 복제됨

✅ 클러스터링 테스트 팁

  • 각 서버에 배포된 동일한 WAR 파일에서 서버 식별 정보 출력
  • 쿠키 JSESSIONID.ms01, .ms02 등을 통해 세션 라우팅 확인
  • Apache Proxy 또는 mod_jk의 stickysession 옵션도 활용 가능

✅ 클러스터 로그 확인 위치

$DOMAIN_HOME/servers/<서버명>/logs/
  • AdminServer.log
  • ms01.log, ms02.log
  • coherence.log (coherence 설정 시 활성화 가능)

✅ 마무리

WebLogic의 Coherence 및 클러스터링 기능은 대규모 서비스에서 안정적인 세션 유지와 고가용성 확보에 필수적입니다.
구성 후에는 반드시 세션 복제 테스트, 클러스터 상태 점검, 로그 모니터링을 통해 운영 안정성을 확보해야 합니다.

반응형