クラスタリング環境で運用する
最終更新日: 2021年12月14日
R8 | R9
オンプレミス環境もしくはAWS や Azure などのパブリッククラウド環境で、2台(以上)のインスタンスによる「クラスタリング」運用を行うことができます。負荷分散、耐障害性の向上につなげることができます。
特徴は次のとおりです。
ロードバランサでは Sticky Session を有効にしてください。利用者が最初にログオンしたインスタンスを記憶し、以降はログオフするまで同じインスタンスを使う必要があります。
Wagby ではログオンする利用者ごとに「セッション」を作成します。セッションには利用者固有の情報が格納されており、ログオフするまでこれらは保持されています。
クラスタリング環境では、このセッション情報の共有を行いません。そのため、あるインスタンスがダウンしたとき、そのインスタンスの利用者は再ログオンを行って別のインスタンスに接続しなおす必要があります。
クラスタリング環境では、個々のインスタンスに割り当てられるIPアドレスを事前に指定します。インスタンスごとに保持しているキャッシュ情報の整合性を保つためにインスタンス同士で直接、メッセージをやりとりします。
"環境 > サーバ > クラスタリング" 欄を設定します。
3台のマシンでクラスタリングを行うテストの設定例を図3に示します。
次の手順で設定します。
1. ビルドされた wagbyappフォルダをコピーし、それぞれ wagbyapp2, wagbyapp3 とする。
2. ポート番号を変更する。wagbyapp2,wagbyapp3 の修正箇所は次の通り。
wagbyapp2/conf/server.xml wagbyapp2/webapps/wagby/WEB-INF/classes/jfccluster.properties wagbyapp3/conf/server.xml wagbyapp3/webapps/wagby/WEB-INF/classes/jfccluster.properties
1. 3つの wagbyapp を起動します。
2. 異なるブラウザ(例 Chrome,Edge,IE) にて次のURLにアクセスし、adminでログオンします。
クラスタリングの設定を有効にすると、メニューの「管理処理」に次の機能が追加されます。
現在のクラスタ構成のマシンの状況を表示します。 自マシンや他のマシンのロックをすべて解除できます。 自マシンが稼動していることを通知することができます。 自マシンにて認識している他のマシンの稼動情報を修正できます。
現在どのマシンがどのデータをロックしているかを表示します。 ロック情報を1件づつ削除することができます。 マシン名が表示されるようになります。
Wagbyが提供するジョブスケジュールは、指定時刻になったとき、起動されているすべてのインスタンスでジョブが実行されます。(いずれか一つのインスタンスだけでジョブを実行するという制御は行えません。なおオートスケール環境ではこの制御に対応しています。)
クラスタリング環境とは
ロードバランサは Sticky Session の設定が必要
セッション情報を共有しない
キャッシュの整合性
設定方法
設定欄
説明
クラスタリング構成を使用する
クラスタリングを行う場合、有効にしてください。
接続リトライ回数
クラスタリングサーバ同士で通信を行なっています。その通信が失敗したときのリトライ回数の上限を指定します。リトライがこの上限に達した場合、失敗したマシンはクラスタリング対象から除外されます。(後述する「クラスタリング管理」メニューで復帰させることができます。)
接続待機時間
リトライを行うためのインターバル時間を指定します。単位はミリ秒です。
サーバ名
クラスタリングを行うマシン名(ホスト名)を記載します。重複しないようにしてください。
IPアドレス
上記マシンのIPアドレスを指定します。ドメイン名を指定することはできません。
JMXポート
1024から65535の範囲で、適当な番号を割り当ててください。RMIポートと重複することはできません。(*1)(*2)
RMIポート
1024から65535の範囲で、適当な番号を割り当ててください。JMXポートと重複することはできません。(*1)(*2)
自サーバ
ビルドしたアプリケーションが稼働するサーバを指定してください。このサーバはビルドしたアプリケーションをそのまま利用できます。このアプリケーションをコピーする2台目以降のサーバは手動で設定を変更する必要があります。[後述]
動作の確認
wagbyapp2
wagbyapp3
動作テスト
ロックテスト
キャッシュテスト
クラスタリング環境での運用
クラスタ管理
ロック情報検索
ログオンユーザ管理
ロックの扱い
ジョブスケジュールの制御
仕様・制約