クラスタリング用に Tomcat 7 で Liferay を構成しています。Webで検索したところ、いくつかの指示が見つかりました。それらすべてを読んで、いくつかの疑問が生じました。誰かが私を助けてくれれば幸いです。
A. server.xml の「${CATALINA_HOME}/conf」に次の行を挿入すると、Tomcat のドキュメント (リンク)に記載されているように、Tomcat がデフォルト値で構成されます。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
重要なデフォルト値の一部を次に示します。
1- マルチキャスト アドレスは 228.0.0.4 です
2- マルチキャスト ポートは 45564 です (ポートとアドレスが一緒になってクラスタ メンバーシップを決定します。
3- ブロードキャストされる IP は java.net.InetAddress.getLocalHost().getHostAddress() です127.0.0.1 をブロードキャストします。これは一般的なエラーです)
4- レプリケーション メッセージをリッスンする TCP ポートは、4000 ~ 4100 の範囲で最初に使用可能なサーバー ソケットです
5- 2 つのリスナーが構成されています ClusterSessionListener
6- 2 つのインターセプターが構成されています
私のクラスター環境は小さいので (Tomcat インスタンスが 2 つ)、デフォルトの構成で十分だと思います。
Q#A. 項目 3 の正確な意味を知りたいです。どうすればその間違いを犯すことができますか?
B. 上記に基づいて、デフォルト構成は IP アドレス 228.0.0.4 で動的クラスタリングを使用します。これは放送用アドレスだと思います (間違っていたら訂正してください)。もしそうなら、このリンクは言う:
Linux 環境では、ほとんどのシステム カーネルがマルチキャスト アドレスを処理できます。ただし、カーネル ルーティング テーブルにルート エントリを追加する必要があります。
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
Q#B. これはどういう意味ですか?これを行うべきかどうかをどうやって知ることができますか?
C. クラスタリングの次のステップとして、Web アプリケーションの web.xml ファイルに「<distributable/>」要素を追加する必要があります。サーバーの「${CATALINA_HOME}/webapps」フォルダーには、Web アプリケーションごとに 1 つの web.xml があります。それらのすべてに、セッションのレプリケーションにこの要素を含める必要があることを理解しています (間違っている場合は修正してください)。
Q#C1. すべてのWebアプリケーションのプレフィックスとして「liferay-」が付いた別の「web.xml」ファイルを見つけました。それらは別の web.xml と見なされ、この要素を持つべきですか?
Q#C2. 「<distributable/>」要素を 1 か所に追加して、すべての Web アプリケーションに適用する方法はありますか? ある種の親/グローバル「web.xml」ファイル?
D. 一部の指示では、「distributable='true'」属性を「${CATALINA_HOME}/conf/context.xml」ファイルの「<Context>」要素に追加する必要があります。また、指示しない人もいます。
Q#D. この構成は必須ですか? この属性を持っていて、持っていないことの結果は何ですか?
前もって感謝します。