# 세션 클러스터링(Session Clustering) 이란?
: 여러대의 서버가 동시에 한가지 업무를 수행하도록 하는 것!
# 보통 어떻게 사용하나?
: 요즘이야 기술이 좋아져서 Redis나 별도의 세션서버를 두고 사용하는 경우이거나, L4같은 장비를 통해서 클러스터링을 합니다.
#:) 저같은 경우도 redis를 통해 세션 클러스터링을 설정 해본적이 있는데요 이번에는 톰캣 설정으로 클러스터링을 해볼려고 합니다.
● server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45566"
frequency="500"
dropTime="12000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4001"
autoBind="100"
selectorTimeout="12000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
● web.xml
<distributable/>
이렇게 두 파일만 설정하면 끝...
정말 될 까 싶어서 war으로 톰캣 두개를 배포해서 8080, 8081 를 와따가따했는데 세션이 이어진다.
처음에 아키텍쳐 설계시 클러스터링을 위해서 L4도입이나. 세션서버를 도입하는 경우가 있는데 이렇게 간단히 톰캣설정을 통해서도 가능하니 좋은거 같다.
다음 간단한 프로젝트시 한번 제대로 써보고싶다!
#:) 더 자세한 걸 원하시면 정리가 잘된 블로그가 있습니다.
https://jistol.github.io/java/2017/09/15/tomcat-clustering/
Tomcat 8 세션 클러스터링 하기
jistol.github.io
'TOMCAT' 카테고리의 다른 글
다중 서버 환경에서 Session은 어떻게 공유하고 관리할까? - 2편(Sticky Session, Session Clustering, Session Storage 분리) (1) | 2021.06.21 |
---|---|
Tomcat 8 세션 클러스터링 하기 (0) | 2021.06.11 |
[Tomcat] Clustering(클러스터링) (0) | 2021.06.11 |
[SSL]HTTPS 통신을 위한 Tomcat SSL 설정하기 (0) | 2021.06.02 |
톰캣 타임존 설정 (0) | 2021.05.21 |
댓글