Session Clustering 알아보기
이번에는 두편에 걸쳐 Session Clustering에 대해 적어보려 합니다.
첫편에서는 Session Clustering에 대한 간단한 개념을 알아보겠습니다.
What..!
- 동일한 세션으로 여러 곳에서 사용할 수 있게 관리 하는 것을 의미합니다.
Why..?
- 앞서 언급했지만 동일한 세션을 여러 곳에서 사용하기 위함입니다. 세션은 WAS 자체에 가지고 있어 두 대 이상의 WAS를 이용하는 경우(로드 밸런싱), 또는 failover 이나 auto scaling으로 대체된 WAS에게도 세션이 공유되어야 하기 때문에 반드시 알아야 하는 방법입니다.
When..?
- WAS가 2대 이상 설치되어 있을 경우에 해당 됩니다.
1. 네트워크 Level 에서 본다면, 로드밸런싱을 하게 될 때 입니다.
여기서 간단하게 로드 밸런싱을 소개 하자면, 동시 접속자가 많은 경우 하나의 WAS만으로는 모든 처리가 불가능하기 떄문에 두개 이상의 WAS를 묶어 분산 처리를 위한 방법입니다.
이 때는, WAS 한 곳에 Session을 몰아주거나 Session Server를 따로 두어 관리하게 될 것 입니다.
2. 서버 Level 에서 본다면, Apache 서버를 두고 Tomcat 서버를 연동시켜서 사용하는 방법입니다.
① Horizontal Clustering
② Vertical Clustering
이는 Apache를 통해 세션을 공유합니다.
How..!
Apache + ( Tomcat 1 + Tomcat 2 + ... ) 방법은 기능이 제한적이기 때문에, 세션을 저장하여 사용하는 방법을 해볼 예정입니다.
그러나, 서버 Level에서의 방법을 원하신다면
http://www.easywayserver.com/implementation-tomcat-clustering.htm
http://sarc.io/index.php/tomcat/111-tomcat-session-cluster-1
를 참고하시면 될 것 입니다.
다음 글에서는 Spring Security + Redis 를 이용하여 Session을 공유 해보도록 하겠습니다.