配布された実行のセットアップ

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  配布済みの実行 >

配布された実行のセットアップ

配布済みの実行のコアには実行キューの概念が存在します。

 

実行キューはジョブの「処理」です。これはジョブインスタンスがどのように実行されるかを管理します。 実行するためには、各ジョブはターゲット実行キューに割り当てられ、ランタイムに実行キューに送信されます。 キューの管理は、(キューに割り当てられているすべてのジョブの) ジョブインスタンスが一度に実行される数、実行間の遅延、および、他の設定を管理します。キューはジョブに対してローカルであること、または、複数のジョブで共有されることができます。

 

共有されたキューは単一の FlowForce マシン上、または、クラスターとして作動する複数の FlowForce Server インスタンス上でサーバーのロードを管理する柔軟的なメカニズムを提供します。ロードのバランスの構成は複数のステップのプロセスです:

 

1.最初に、資格情報またはジョブなどの FlowForce 構成データに類似した専用のページを作成します。
2.それぞれのキューに、処理設定を定義します。 例えば、マスターのみ、ワーカーのみで実行されるキューを構成します。 例えば、デフォルトでマスターとすべてのワーカーでキューが実行されるように構成することができまが、すべてのワーカーが使用できない場合、キューはマスターにのみファールバックします。
3.各ジョブの構成を編集し、ジョブを前に作成されたカスタムキューに割り当てます。

 

キューの作成

他の FlowForce Server 構成オブジェクトと同様、同じセキュリティアクセスからキューは恩恵を得ています。 具体的には、キューを作成するためにユーザーは「実行キューを定義」する必要があります。特権のしくみを参照してください。更に、適切な (特権とは異なる)コンテナーパーミッションを有する場合のみキューを確認、または、キューにジョブを割り当てすることができます。パーミッションのしくみを参照してください。 デフォルトでは、認証されているユーザーは「キュー - 使用」「 パーミッション」 を取得します。これは、キューにジョブを割り当てできることを意味します。キューへのアクセスを制限するには、キューが定義されている個所にコンテナーをナビゲートし、コンテナーのパーミッションを ロール authenticated のために「キュー - アクセス無し」に変更します。次に、パーミッション 「キュー - 使用」 を特定のロール、または、必要なユーザーに割り当てます。詳細に関しては、/public コンテナーへのアクセスの制限を参照してください。

 

 

キューを作成する方法:

1.「構成」 をクリックして、キューを作成するコンテナーにナビゲートします。
2.「作成」をクリックして、「キューの作成」をクリックします。

ff_create_queue

3.キューの名前、そして任意で、詳細を入力します。他の設定の参照に関しては、下の「キューの設定」を参照してください。
4.「保存」をクリックします。

 

キューの設定

構成のために使用することのできる設定は下にリストされるとおりです。

 

実行

このキューからのすべてのジョブインスタンスがどのように実行されるかを指定します:

 

マスターまたはワーカー - このキューの一部であるジョブインスタンスはマスターまたはワーカーマシン上で使用できるサーバーコアに従い実行されます。
マスターのみ - ジョブインスタンスはマスターマシン上でのみ実行されます。
ワーカーのみ - ジョブインスタンスは使用できるワーカー上で実行されますが、マスター上では実行されません。

実行間の最短時間

実行 キュー は現在アクティブなルールに従い割り当てられたワーカーの数により掛けられた設定により管理されている使用することのできるスロットの番号である 実行スロットを提供します。各スロットは連続的にジョブインスタンスを実行します。

 

「実行間の最短時間」設定は、次のジョブインスタンスをすぐにピックアップしないように、スロットをジョブインスタンスの完了後、短い間、使用中とマークします。この機能により、この実行キューのために最大のスループットを削減し、同じマシン上での他の実行キューと他の処理のために CPU タイムを提供します。

並列実行の最大数

このオプションはサーバー上で並列して実行することのできる同じジョブの数量を定義します。

 

並列処理は FlowForce Server が使用することのできるサーバーコアの数値により異なります。例えば、この値を12に設定し、2つのサーバーコアのみがライセンス供与されている場合、12 個のジョブが並列に実行されているものとして表示されますが、一度に実行されるジョブは 2 つです。

 

キュー設定の複数の設定を定義することができ、 add ボタンをクリックすることにより、それぞれは異なる処理必要条件を持つことができます。設定の特定のセットの優先順位 (これを「ルール」と呼ぶことにします) を変更するには、「上に移動」 up_arrow または 「下に移動」 down_arrow ボタンをクリックします。例えば、 マスターのみが使用できる場合、これらのケースのためにルールを定義することができ、マスターとワーカの両方が使用できる場合、他のルールを指定することができます。これにより、特定の場合でクラスターの状態により、キューのためにフォールバックメカニズムを有効化することができます。 キューを処理する場合、 FlowForce Server は常にクラスターの状態をモニターし、ワーカーが使用できるかを検知することができます。ですから、複数のキュー設定ルールを定義すると、 FlowForce Server は、定義された順番に、上から下に評価し、「実行」に従い、少なくとも1つの割り与えられたクラスターメンバーを持つ最初のルールを取得します。」ます。

 

サンプルの通り、クラスターが一つのマスターと4つのワーカーマシンを含むセットアップを例にしましょう。キューの設定は下の通り定義されています:

ff_queue_settings

上記の構成が示す通り、FlowForce はクラスターの現在の状態によりキューを以下のように処理します:

 

全てのワーカーを使用できる場合、上のルールがマッチされ適用されます。具体的には、16 個までのジョブインスタンスの同時実行が許可されています  (各ワーカに対して 4 インスタンスの実行が可能です)。実行間の最短の時間は 0 秒です。
3 人のワーカのみが使用できる場合、上のルールがマッチされ適用されます。具体的には、12 個までのジョブインスタンスの同時実行が許可されており、実行間の最短の時間は 0 秒です。
使用できるワーカーが存在しない場合、2番目のルールがマッチされ、適用されます。具体的には、1つのインスタンスが許可され、 具体的には、1つまでのインスタンスの同時実行が許可されており、実行間の最短の時間は 5 秒です。

 

この種類の構成でも、ワーカが存在しない場合の実行が可能です。「マスターのみ」のルールのほうが厳しいことに注意してください (1つのインスタンスのみ、各実行間の遅れは5秒です)これは、すべてのワーカが失敗した場合でも、マスターから処理パワーを取りすぎることはありません。

 

キューにジョブを割り当てる方法

キューを構成すると、次のステップは、このキューに割り当てる各ジョブの構成の編集です。「キューの設定」 グループ内のジョブ構成ページ内でキューの設定を見つけることができます:

ff_assign_queue

メモ:「ローカルキューの定義」 を選択すると、FlowForce Server はジョブをこのジョブのインスタンスであるランタイムでデフォルトのキューに指定されているローカルの設定と共に割り当てます。キューの設定の定義 を参照してください。ローカルキューは配布処理をサポートしません。配布済みの処理を活用するためにキューはスタンドアロン (ジョブの外部)で作成される必要があります。

(C) 2019 Altova GmbH