利用可能なサーバに資格を与え、ランク付けするには、グリッド サーバの選択条件を使用します。 タグを使用して選択条件節を作成した後、グリッド サーバの集合を制御できます。 タグには、タグとスマート タグの 2 つのタイプがあります。 タグを使用して、基本的なサーバ割り当てを指定します。 サーバ グループのより詳細な特徴を識別するには、スマート タグを使用します。 指定できる特徴には、CPU コア、CPU 速度、検出日付、メモリ、電源タイプ、およびディスク総容量などがあります。
タグが存在する場合、それらはグリッドに対して選択した CA AppLogic のバージョンに必要なサーバの最小要件に追加して適用されます。
グリッドに対するサーバ選択条件として使用する一連のテストを定義するには、タグを CNF (Conjunctive Normal Form: 乗法標準形)節で組み合わせます。 選択条件を指定する構文では、CNF で指定したテストを、結合を表すリスト内の分離したリテラル(優先順での論理和)の(JSON)配列に変換する必要があります。 CNF 節内のリテラルは、要件(タグ名)または許可されない条件(否定されたタグ名)に対する制約を表します。
以下の例では、タグ選択条件を表す仮定のセットを使用します。 その後、CNF ステートメントを使用して、選択条件の値を指定します。
例 1
この例では、以下の 3 つのセットのメンバに対してサーバ タグを定義します。
次に、グリッドに対してサーバ条件を指定して、Platinum サーバが色に関係なく Gold または Silver サーバの前に選択されるようにしたいと仮定します。 この例では、グリッドは Bronze または Triangle のサーバを受け入れません。
これは CNF では次のように記述されます。
((Platinum or Gold or Silver) and (not Triangle))
これは以下のような選択条件値になります。
[["Platinum","Gold","Silver"],["~Triangle"]]
「and」および「or」という用語が構文からなくなっていることに注意してください。 分離したものの結合は、CNF を使用して仮定され、それらは構文によって示されます。
これは、以下のように解釈されます。各行はグリッドの不足を満たすのに十分なサーバが見つかるまで試行されます。
例 2:
この例では、Red サーバが Blue または Green のサーバよりもよいと判断します。 また、Yellow タグが追加されましたが、その Yellow サーバはグリッドに対して機能しないことを指定するとします。
選択値は次のようになります。
[["Platinum","Gold","Silver"],["Red","~Yellow"],["~Triangle"]]
これは以下のように解釈されます。
例 3:
例 2 で説明したグリッド選択内容を変更して、Yellow サーバを除外し、さらに Green サーバより Blue サーバを優先する条件を追加します。 選択値は以下のようにに変更できます。
[["Platinum","Gold","Silver"],["Red","Blue","Green"],["~Triangle"]]
十分な数のサーバが見つかるまで、BFC によって以下の順でサーバが検索されます。
例 4
この例では、形の条件として Triangle を除外する代わりに Circle を含めています。
[["Platinum","Gold","Silver"],["Red","Blue","Green"],["Circle"]]
これは選択内容に以下のように影響します。
例 5
サーバの条件で否定を使用する場合は、タグ カテゴリのメンバが変更されたときの動作を考慮します。 たとえば、形として Square が追加された場合には、上記のクエリによってどのようなサーバが選択されるかについて考えます。 また、未知のものがどのように処理されるかを考えます。 Circle サーバおよび Triangle サーバのみがある場合とは、Triangle でないサーバをリクエストするときに多少の違いが生じます。 Square サーバがある場合、Circle を明示的に呼び出す調整を行わない限り、これは Circle と同様に Grid1 に追加されます。
以下の例では、グリッドは、Gold ではなく、Circle でもないサーバのみを要求します。
これは CNF では次のように記述されます。
((not Gold) and (not Circle))
これは以下の選択文字列に変換されます。
[["~Gold"],["~Circle"]]
Gold サーバを誤って除外した場合は、条件は次のようになります。
[["~Circle"]]
Copyright © 2012 CA. All rights reserved. |
|