|
|
|
@ -22,14 +22,15 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE; |
|
|
|
|
// This policy differs from the built-in ROUND_ROBIN policy in terms of |
|
|
|
|
// how the endpoint weights are determined. In the ROUND_ROBIN policy, |
|
|
|
|
// the endpoint weights are sent by the control plane via EDS. However, |
|
|
|
|
// in this policy, the endpoint weights are instead determined via |
|
|
|
|
// qps (queries per second), eps (errors per second), and CPU utilization |
|
|
|
|
// metrics sent by the endpoint using the Open Request Cost Aggregation (ORCA) |
|
|
|
|
// protocol. A query counts towards qps when successful, otherwise towards both |
|
|
|
|
// qps and eps. What counts as an error is up to the endpoint to define. |
|
|
|
|
// A config parameter error_utilization_penalty controls the penalty to adjust |
|
|
|
|
// endpoint weights using eps and qps. The weight of a given endpoint is |
|
|
|
|
// computed as: qps / (cpu_utilization + eps/qps * error_utilization_penalty) |
|
|
|
|
// in this policy, the endpoint weights are instead determined via qps (queries |
|
|
|
|
// per second), eps (errors per second), and utilization metrics sent by the |
|
|
|
|
// endpoint using the Open Request Cost Aggregation (ORCA) protocol. Utilization |
|
|
|
|
// is determined by using the ORCA application_utilization field, if set, or |
|
|
|
|
// else falling back to the cpu_utilization field. All queries count toward qps, |
|
|
|
|
// regardless of result. Only failed queries count toward eps. A config |
|
|
|
|
// parameter error_utilization_penalty controls the penalty to adjust endpoint |
|
|
|
|
// weights using eps and qps. The weight of a given endpoint is computed as: |
|
|
|
|
// qps / (utilization + eps/qps * error_utilization_penalty) |
|
|
|
|
// |
|
|
|
|
// See the :ref:`load balancing architecture overview<arch_overview_load_balancing_types>` for more information. |
|
|
|
|
// |
|
|
|
|