본문 바로가기
how to

how to set Session clustering (2)

by 즉흥 2025. 11. 4.
728x90
반응형

세션 클러스터링 구성 방법 (2)

 

지난 포스팅에 이어서 두 번 째 이슈가 발생했다.

 

(아래는 지난 포스팅)

https://amgn.tistory.com/entry/how-to-set-Session-clustering-in-springboot

 

how to set Session clustering in springboot

스프링부트(sprintboot) 환경에서 세션 클러스터링 적용시 유의해야할 부분 1. (tomcat) /conf/server.xml 설정 설정과 그 안의 설정시 포트 충돌 유의 2. (tomcat) /conf/context.xml 설정두 서버간 sessionCookieName 설

amgn.tistory.com

 

 

이슈 내용

 

현재 서비스 구성은 web 서버 2대, was 서버 2대로 구성된 전형적인 이중화 구성 + web/was 분리 구조이다.

 

was(tomcat)에 대한 설정은 지난 포스팅에서 완벽하게 끝내서 각 was 서버에서 세션 공유가 정상적으로 동작한다.

 

근데 이번에 발견한 문제는 사이트에서 새로고침하면 was1 세션과 was2 세션이 번갈아가며 업데이트 된다는 점이다.

 

무슨 말이냐면, 처음 접속시 was1에서 세션을 받았는데 새로고침하니 was2에서 세션을 받고, 또 새로고침하니 was1에서 세션을 받는다는 것이다.

 

물론 세션 공유 설정이 되어 있어서 로그아웃이 되지는 않지만, 세션 공유(복사)보다 빠르게 새로고침하면 세션이 덮어져서 로그아웃 되어 버린다..

 

로드밸런서나 web 설정의 문제라 생각하고 web 설정을 우선 봤다.

 

원인

 

web은 apache로 되어 있는데 apache workers.properties에서의 balance_workers 값과 tomcat server.xml에서의 jvmRoute 값이 일치하지 않고 있었다.

 

즉, apache workers.properites의 balance_workers는 "was1u"라고 되어 있고, tomcat server.xml의 jvmRoute는 "node1"라고 되어 있던 것이다.

 

 

해결방안

 

이 두 값을 일치시켜주니 문제가 해결되었다.

728x90
반응형

댓글