クラスターでは、Quartz スケジューラーおよび Job Manager サービスによって、監視フォルダーのロードバランシングおよびフェイルオーバーを実現しています。Quartz クラスターの動作について詳しくは、Quartz のドキュメントを参照してください。
監視フォルダーは、ポーリングごとに主に次の 3 つのタスクを実行します。
フォルダーのスキャン
ターゲットサービスの呼び出し
結果の処理
ロードバランシングおよびフェイルオーバーの動作は、監視フォルダーが同期呼び出し用に設定されているのか、それとも非同期呼び出し用に設定されているのかによって異なります。
クラスターの同期監視フォルダー同期呼び出しの場合、Quartz ロードバランサーによって、どのノードがポーリングイベントを取得するかが決まります。ポーリングイベントを取得したノードが、フォルダーのスキャン、ターゲットのサービスの呼び出し、結果の処理のいずれのタスクも実行します。
同期呼び出しの場合、あるノードが失敗すると、Quartz スケジューラーは新しいポーリングイベントを他のノードに送信します。失敗したノードで開始された呼び出しは失われます。失敗したジョブに関連付けられているファイルを回復する方法について詳しくは、失敗ポイントおよび回復を参照してください。
クラスターの非同期監視フォルダー非同期呼び出しの場合、Quartz ロードバランサーによって、どのノードがポーリングイベントを取得するかが決まります。ポーリングイベントを取得したノードは、要求を Job Manager サービスキューに配置して、入力フォルダーのスキャンおよびターゲットサービスの呼び出しを行います。続いて Job Manager サービスロードバランサーが、呼び出し要求を処理するノードを決定します。ノード A が呼び出し要求を作成したノードであっても、ノード B が要求を処理することになる場合があります。また、呼び出し要求を開始したノードが、要求も処理することになる場合があります。
非同期呼び出しの場合、あるノードが失敗すると、Quartz スケジューラーは新しいポーリングイベントを他のノードに送信します。失敗したノードで作成された呼び出し要求は、Job Manager サービスキューにあり、他のノードに送信されて処理されることになります。呼び出し要求が作成されていないファイルはステージフォルダーに残ります。失敗したジョブに関連付けられているファイルを回復する方法について詳しくは、失敗ポイントおよび回復を参照してください。
|
|
|