고객사 프로젝트에서
WebLogic cluster를 사용하지 않고
WebLogic과 별도의 장비에 Coherence를 설치하여
Session Failover를 구현하고 있는 점을 확인하였다.
프로젝트 및 유지보수를 지원하면서 Coherence를 만나볼 기회가 한번도 없었기에
프로젝트 투입 전 공부를 해야 할 필요가 생김.
WebLogic과 별도의 장비에 standalone 으로 Coherence를 구성하는 법을 정리하고,
이렇게 구성하게 되면 WebLogic cluster를 사용했을 시와 비교하여 어떠한 장단점이 있는지 정리해보았다.
WebLogic 14.1.1 기준으로 테스트 진행하였음.
<weblogic cluster와 coherence의 장단점 비교>
#. WebLogic Cluster
설정 절차가 적으며 관리가 간편하다
Admin Console에서 클릭 몇 번이면 곧바로 구성 완료
Cluster 멤버 내의 모든 인스턴스가 shutdown 되면 모든 세션 정보 유실
#. Coherence
세션을 저장하기 위한 별도의 프로세스가 있는 구조이다
이로 인해 WebLogic 인스턴스가 모두 shutdown 되어도 세션 정보를 유지할 수 있다
cache 서버가 기동되지 않으면 WebLogic 서비스 기동 자체가 불가하다
cache 서버가 shutdown 되면 WebLogic 측에서 즉시 장애 발생
<두 가지 Coherence 구성 방법>
#. WebLogic 내장 Coherence
WebLogic 서버에 내장된 Coherence가 있다
Admin Console 에서 Coherence 클러스터 메뉴
Cluster 설정에 비해 설정 절차는 복잡한 편이지만 Admin Console에서 관리 가능하다는 장점은 있음
#. standalone Coherence
별도의 Coherence 서버를 설치하는 방법
WebLogic 장비와 분리하여 HTTP Session 정보를 저장하기 위한 용도로만 사용할 장비를 별도로 구성할 수도 있다.
WebLogic 장비가 통째로 shutdown 되어도 세션 정보는 별개 장비에서 저장하고 있으므로
세션 지속성에 확실한 장점이 있다
서로 다른 장비에 위치한 WebLogic과 Coherence를 연동하기 위해 알아야 할 정보가 많다.