2012/11/27 07:52

웹로직 클러스터링. Server/WAS



웹로직 배포문제를 해결하고, 
마지막으로 클러스터링 작업도 완료하였다.

웹로직에서 클러스터링을 하는 이유는,
개별로 떠 있는 인스턴스간 세션을 공유하기 위해서 이다.

우리 환경을 예로 들면.. 
두개의 윈도서버에, 두개의 아파치, 두개의 웹로직이 설치되어 있고,
한 웹로직에는 admin server와 managed server 두개가 설치되고,
나머지 웹로직에는 managed server 두개가 설치되어,
1 admin / 4 managed server로 구성되었습니다. (M1~M4)

L4스위치고 load balancing 해주어 apache로 넘어오면 
다시 apache가 M1~M4까지 WebLogicCluster로 묶어 처리한다.

그러면 웹로직은 M1~M4까지 클러스터 되어 있어서, 
인스턴스간 세션을 공유하게 되는 것이다.

세션 공유 방법은 접속된 인스턴스에 primary로 세션이 생성되고,
하나의 랜덤한 인스턴스에 secondary로 복제된다. 
그리고 인스턴스가 죽거나 문제가 생기면 복제된 인스턴스를 사용하고
다시 다른 인스턴스가 secondary로 사용되는 식이다.

그런데, 여기서 
세션이 복제되는 것은 이벤트가 발생하는 시점이기 때문에.
이벤트가 없이 인스턴스가 종료되고 다시 살아난다고 하면
세션의 복제는 없고, 다시 세션을 생성해야 하는 문제가 생긴다.

잠깐..
여기서 혹시 도메인 등록을 하지 않고 테스트를 해보는 중이라면
로그인이 생각같이 되지 않거나, 세션이 생성되지 않을 수 있다.
그럴땐, weblogic.xml을 한번 체크해야 한다.
-----------------------------
<session-descriptor>
<cookie-name>JSESSIONID</cookie-name>
<cookie-domain>.도메인명</cookie-domain>
<persistent-store-type>replicated_if_clustered</persistent-store-type>
</session-descriptor>
-----------------------------
위부분이 있다고 하면, 아직 도메인이 생성되지 않았으니
주석으로 막고 테스트를 해보면 정상적으로 실행이 될 것이다.
물론 도메인이 있는 경우에는 주석을 다시 풀고 써야 정상적으로 세션이 유지가 된다.

클러스터 관련 정말 좋은 사이트 발견!!! (감사합니다!!!!!!)

어떻게 보면 당연한 이야기 이지만,
효용성 측면에서는 좀 서운한게 아닐지.. 

WAS에 대해서, 웹로직에 대해서
많은 것을 아는 것은 아니지만. 
그래도 이정도의 성능과 기능이 있다는게 얼마나 감사한 것인가 싶긴 하지만..

그래도 쫌 서운하다.

아무튼, 이래저래, 테스트 완료. 
지원 종료.. 

덧글

댓글 입력 영역