본문 바로가기
MiddleWare/Apache, Tomcat

Tomcat 클러스터 구성 (톰캣 클러스터구성)

by hnrupangit 2022. 9. 5.
톰캣 클러스터 구성

Tomcat은 자체 클러스터 구성이 가능합니다.

 

/was/apache-tomcat-8.5.45/conf/server.xml

파일에 추가

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"

channelSendOptions="8">

<Manager className="org.apache.catalina.ha.session.DeltaManager"

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"/>

 

<!-- 멀티캐스트 포트(45564) 필요에 따라 변경 -->

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService"

address="228.0.0.4"                   # 멤버십 클레스는 서로 참조하므로 다른 서버와 겹치지 않도록 ip 수정 필요

port="45564"

frequency="500"

dropTime="3000"/>

<!-- replication 메시지 수신 포트는 4000 - 4100 사이 -->

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

address="auto"

port="4000"                                # 포트는 서비스별로 겹치지 않도록 설정

autoBind="100"

selectorTimeout="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.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"/>

 

<!-- war 를 하나에 반영하면 클러스터에 자동으로 배포되는 FarmWarDeployer 기능시에만 필요

<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.ClusterSessionListener"/>

</Cluster>

 

이렇게 ip와 port로 Tomcat 자체 클러스터 설정이 가능하며, 클러스터 연결 확인은 catalina.out 로그파일에서 확인할 수 있습니다.

댓글