티스토리 뷰
Springboot 내장 톰캣을 사용할때 session clustering에 대해서 글을 썼는데 역순으로 글을 쓰는것 같다. 이 글을 쓸때 이미 구성되어 있는 Tomcat server.xml 의 clustering 부분을 가져다가 썼는데 그것에 대해 기술을 해보려고 한다.
web.xml - application 단에서 설정해준다.
<web-app ~~~>
... 생략 ...
<distributable/>
</web-app>
server.xml - tomcat 의 설정
<Server port="8105" shutdown="SHUTDOWN">
... 생략 ...
<Service name="Catalina">
... 생략 ...
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
... 생략 ...
<!-- Cluster 부분 주석 해제하고 다음과 같이 작성 -->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<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="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5000"
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.TcpPingInterceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" />
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve" />
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
... 생략 ...
</Engine>
</Service>
</Server>
Server > Service > Engine > Cluster 부분에 위와 같이 작성을 한다. membership, receiver 등에 들어가있는 address나 port 등을 변경하지 않는다. 변경해도 되지만 was1와 was2가 같은 값을 가지고 있도록 해줘야한다. 그 외 모든 설정들은 프로젝트의 상황에 따라 변경을 해준다.
was1과 was2가 있다면 각각의 server.xml 에 위의 설정을 다 해준다. 다 되었다면 잘 되는지 테스트를 해본다.
테스트는 지난번에 작성한 포스팅을 참조하도록 한다.
끝!
'Server > WAS' 카테고리의 다른 글
Springboot Embedded Tomcat JVM Option 설정 (0) | 2021.05.11 |
---|---|
Tomcat 기동시 메모리 부족(Out of Memory Error) 관련 오류 해결방법 (0) | 2020.09.25 |
Tomcat Context Path가 / 인 경우 manager 접근방법 (0) | 2020.08.14 |
org.apache.catalina.loader.WebappClassLoaderBase modified 오류가 나며 무한재기동하는 현상 (0) | 2020.07.31 |
Tomcat username / password 암호화 (with DataSourceFactory) (3) | 2020.06.02 |
댓글