dscontrol rule コマンドを使用して、executor 機能を制御します。
>>-dscontrol--rule--+-add--cluster@port@rule--type--+-active-+--options-+->< | '-true---' | +-dropserver--cluster@port@rule--server-------------+ +-remove--cluster@port@rule-------------------------+ +-report--cluster@port@rule-------------------------+ +-set--cluster@port@rule--options-------------------+ +-status--------------------------------------------+ '-useserver--cluster@port@rule--server+s2+----------'
>>-+-beginrange--endrange-+------------------------------------>< +-priority--value------+ '-evaluate--+-port-+---' '-rule-'
dscontrol rule add @80@RuleA type typeクラスターを追加するときは、正符号 (+) で区切ります。
dscontrol rule add clusterA@@RuleA type typeポートを追加するときは、正符号 (+) で区切ります。
追加した最初のルールに priority を指定していない場合は、Load Balancer によってデフォルトで 1 に設定されます。その後、ルールが追加されると、priority が計算され、デフォルトで、その時点のすべての既存のルールの中で一番低い priority に 10 を加えた値になります。例えば、既存のルールの priority が 30 であるとします。新しいルールを追加して、その priority を 25 に設定するとします (これは、30 よりも 高い priority です)。さらに、priority を設定せずに 3 番目のルールを追加します。この 3 番目のルールの priority は、40 (30 + 10) と計算されます。
ルール内のサーバーの評価
ポート上のサーバーの評価
上記で説明した 2 つのルールを使用して、evaluate オプションを最初のルール (ポート上のすべてのサーバー間でルールの条件を評価) の port に設定した場合は、トラフィックがそのルールのしきい値を超えると、トラフィックは 2 番目のルールと関連付けられている「サイト・ビジー」サーバーに送信されます。最初のルールは、ポート上のすべてのサーバー・トラフィック (「サイト・ビジー」サーバーを含む) を測って、そのトラフィックがしきい値を超えているかどうかを判断します。最初のルールに関連したサーバーの輻輳が低下すると、ポートのトラフィックはまだ最初のルールのしきい値を超えているので、トラフィックは「サイト・ビジー」サーバーに送信され続けるという、不測の結果が起こる場合があります。
dscontrol rule add 130.40.52.153@80@pool2 type active beginrange 250 endrange 500
dscontrol rule add 130.40.52.153@80@jamais type true priority 100