Tomcatセッションレプリケーションメモ †
ローリングアップグレードの手段としてセッションレプリケーションを試してみます。レプリケーションができていればWARの更新時にワーカーを順番に再起動してもサービスは無停止でアップグレードできるはずです。
- Apache 2.2.25
- Tomcat 6.0.35
ローカルに2台のTomcatを立ち上げ、1台のApacheから割り振る方法をやってみます。
Apacheの設定 †
Tomcatの設定 †
Managerで設定したDeltaManagerはAll-to-Allのレプリケーションになるそうです。他にBackupManagerという1台に複製を送信するマネージャーがあるそうです。
今回はレプリケーションするTomcat2台ともローカルホストなので、Receiverで使うポートが2台で競合しないようにします。
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="localhost"
port="5001"
selectorTimeout="100"
maxThreads="6"/>
テスト †
Apache、Tomcat2台を立ち上げ、ブラウザで接続してみます。ワーカーを1台止めても、即座に切り替わる様子が実験できました。再び落としたワーカーを立ち上げ、別の方を止めても大丈夫。これはすごい!これならジオンはあと10年は戦える。