すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:AverageLatencySchedulingPolicy フィールドの説明

最終更新日:Jan 13, 2025

このトピックでは、AverageLatencySchedulingPolicy のフィールドについて説明します。

AverageLatencySchedulingPolicySpec

フィールド

タイプ

説明

load_scheduling_core

LoadSchedulingCore

スケジューラー構成。

LoadSchedulingCore

フィールド

タイプ

説明

aimd_load_scheduler

AimdLoadScheduler

Additive Increase Multiplicative Decrease(AIMD)スケジューラーの構成。

セレクター

トラフィックフローは、コントロールポイント、フローラベル、エージェントグループ、およびサービスに基づいて選択されます。

control_point: ingress
label_matcher:
  match_labels:
    user_tier: gold
  match_expressions:
    - key: query
      operator: In
      values:
        - insert
        - delete
  expression:
    label_matches:
      - label: user_agent
        regex: ^(?!.*Chrome).*Safari

フィールド

タイプ

説明

control_point

string

このフィールドは、ポリシーがトラフィックフローに適用されるサービス内の場所を識別します。 このフィールドは、イングレス、エグレス、特定のリスナー、または特定のフィルターチェーンに設定できます。 デフォルト値:ingress。

label_matcher

LabelMatcher

このフィールドを使用して、フローラベルに基づいてトラフィックフローを照合できます。

service

string

選択するサービスの完全修飾ドメイン名(FQDN)。 デフォルト値:any。

LabelMatcher

要件を定義するには、次の 3 つの方法があります。

  1. ラベルの照合

  2. 式の照合

  3. 任意の式

複数の要件が設定されている場合、それらはすべて論理 AND 演算子を使用して結合されます。 空のラベルマッチャーは常に任意のリクエストと一致します。

フィールド

タイプ

説明

expression

Expression

ラベルで評価される式。

match_labels

map[string]string

照合するラベルを表すキーと値のペアのマップ。

match_list

MatchRequirement

ラベルマッチング要件のリスト。

Expression

Expression では複数のバリアントが許可されており、フィールドの 1 つのみを構成できます。

フィールド

タイプ

説明

all

ExpressionList

すべての部分式が true の場合、式は true になります。これは論理 AND 演算と同等です。

any

ExpressionList

いずれかの部分式が true の場合、式は true になります。これは論理 OR 演算と同等です。

label_equals

EqualExpression

指定されたラベルの値が指定された値と等しい場合、式は true になります。

label_exists

string

指定された名前のラベルが存在する場合、式は true になります。

label_exists

MatchesExpression

指定された名前のラベルが存在する場合、式は true になります。

not

この式は、部分式の結果を否定します。

式リスト

フィールド

タイプ

説明

of

[]

一致式のサブ式のリストです。

等価式

ラベル

種類

説明

label

string

ラベルキー。このフィールドは必須です。

value

string

ラベル値。

MatchesExpression

フィールド

タイプ

説明

label

string

正規表現と一致するラベルの名前。このフィールドは必須です。

regex

string

ラベル値と一致する必要がある正規表現。このフィールドは必須です。詳細については、「Go の正規表現構文」をご参照ください。

一致要件

フィールド

タイプ

説明

key

string

セレクターが適用されるラベルキー。このフィールドは必須です。

operator

列挙型

有効な値:In、NotIn、Exists、および DoesNotExist。このフィールドは必須です。

values

[]string

演算子によってキーに関連付けられる文字列値の配列。演算子が Exists または DoesNotExist の場合、values 配列は空である必要があります。

AimdLoadScheduler

フィールド

タイプ

説明

gradient

GradientControllerParameters

グラデーションコントローラーのパラメーター。このフィールドは必須です。

load_multiplier_linear_increment

float64

最小値は 0 で、デフォルト値は 0.025 です。このフィールドは、システムが過負荷状態ではない場合に、10 秒ごとに負荷乗数に線形的に加算される値を指定します。max_load_multiplier に達するまで増加し続けます。

load_scheduler

LoadSchedulerParameters

ロードスケジューラーのパラメーター。このフィールドは必須です。

max_load_multiplier

float64

最小値は 0 です。デフォルト値は 2 です。

このフィールドは、過負荷状態からの回復中に到達可能な最大負荷乗数を指定します。

  • このフィールドは、システムがまだ回復中のときに、サービスをリクエストバーストから保護するのに役立ちます。

  • このフィールドの値に達すると、スケジューラーはパススルーモードに入ります。このモードでは、リクエストはスケジューラーをバイパスしてサービスに直接送信されます。

  • システムが再び過負荷状態になると、パススルーモードは無効になります。

GradientControllerParameters

次の表は、グラデーション パラメーターについて説明しています。

フィールド

タイプ

説明

max_gradient

float64

デフォルト値:1。

min_gradient

float64

デフォルト値:0.1。

slope

float64

デフォルト値:-1。

スロープフィールドは、勾配コントローラーの積極性と方向を制御します。このフィールドは、勾配の計算において、設定値に対する信号の比率の指数として使用されます。例:

  • slope = 1: 信号が高すぎる場合は、制御変数を増やします。

  • slope = -1: 信号が高すぎる場合は、制御変数を減らします。

  • slope = -0.5: 信号が高すぎる場合は、制御変数を徐々に減らします。

傾きの絶対値は 1 を超えないようにすることをお勧めします。

LoadSchedulerParameters

フィールド

タイプ

説明

scheduler

スケジューラ

加重公平キューイングベースのワークロードスケジューラの構成。

selectors

[]セレクター

加重公平キューイングベースのワークロードスケジューラのセレクター。

workload_latency_based_tokens

bool

デフォルト値:false。各ワークロード内のトラフィックフローのサイズは、過去のレイテンシに基づいて自動的に推定されます。各ワークロードのトークンの数は、過去数秒間(この平均の正確な期間は変更される可能性があります)のワークロードにおけるトラフィックフローの平均レイテンシに設定されます。この設定は、同時実行制限のシナリオで役立ちます。同時実行は、次の式を使用して計算されます。同時実行 = 平均レイテンシ × 処理中のフロー。

推定されたトークンの値は、ワークロード定義で指定されたトークンの値と、フローラベルで明示的に指定されたトークンの値よりも優先順位が低くなります。

スケジューラ

フィールド

タイプ

説明

workloads

[]SchedulerWorkload

使用するワークロードのリスト。

ExpressionList

フィールド

タイプ

説明

label_matcher

LabelMatcher

フローラベルに基づいてワークロードを選択するためのラベルマッチャーです。

名前

文字列

ワークロード名。

of

スケジューラワークロードパラメーター

ラベル マッチャーと一致するトラフィック フローに関連付けられたパラメーターです。

SchedulerWorkloadParameters

フィールド

タイプ

説明

priority

float64

優先度。

queue_timeout

string

ワークロードのトラフィックフローのタイムアウト。

tokens

float64

tokensフィールドは、ワークロードの単一トラフィックフローを許可するためのコストを決定します。これは通常、フローレイテンシのミリ秒(応答時間または機能の期間)として定義されるか、アクセスされているリソースがトラフィックフローの数によって制限されている場合は単に 1 に等しくなります(サードパーティのレート制限)。 このオーバーライドは、フローラベルでトークンの数が指定されていない場合にのみ適用されます。