일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 앱스토어
- 애플
- FIDO2
- fido
- MFA
- SSL
- MYSQL
- albumbook
- WebAuthn
- SWIFT
- 앱리소스
- OTP
- otpkey
- 인증
- 2FA
- openssl
- 안드로이드
- kmip
- css
- git
- apple
- SwiftUI
- OSX
- MSYS2
- appres
- Nodejs
- SSH
- 앨범북
- Android
- Xcode
- Today
- Total
인디노트
톰캣 세션 클러스터링 내가 적용한 것 본문
https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html
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"
port="45564"
frequency="500"
dropTime="3000"/>
<!-- replication 메시지 수신 포트는 4000 - 4100 사이, 같은 서버 안에 여럿의 톰캣이라면 address 에 auto 를 입력 -->
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="192.168.0.116"
port="4001"
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>
방화벽
-A INPUT -m state --state NEW -m tcp -p tcp --dport 45564 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 45564 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4000:4100 -j ACCEPT
web.xml 에 추가 : <distributable/>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>KCSAgent</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<distributable/>
</web-app>
'개발 플랫폼 및 언어' 카테고리의 다른 글
[Linux] 리눅스 rsync 설정 방법 (0) | 2018.11.27 |
---|---|
Tomcat 8 세션 클러스터링 하기 (0) | 2018.11.24 |
tomcat 세션 클러스터링 설정 (0) | 2018.11.24 |
아파치 톰캣(apache tomcat) 을 jmx 로 monitoring 하기 (0) | 2018.11.24 |
세션 클러스터링 (0) | 2018.11.24 |