lb: add new backend utililization lb policy - #3750
Conversation
Signed-off-by: wbpcode <wbphub@gmail.com>
Signed-off-by: wbpcode <wbphub@gmail.com>
Signed-off-by: wbpcode <wbphub@gmail.com>
| uint64 minimum_ring_size = 4 [deprecated = true]; | ||
| } | ||
|
|
||
| // Client-side weighted round-robin load balancing policy that uses |
There was a problem hiding this comment.
nit: s/Client-side weighted round-robin/BackendUtilizationLB
| // same weight as endpoints without metrics. | ||
| // Default is 10s. | ||
| // +protoc-gen-crd:duration-validation:none | ||
| google.protobuf.Duration blackout_period = 1; |
There was a problem hiding this comment.
Should we call weight_stabilization_period?
There was a problem hiding this comment.
The Envoy call it blackout_period, but yeah, seems you name is more appropriate 🤔
| // standard `application_utilization` metric is not available from the | ||
| // backend. When set, these metrics are used in the weight formula | ||
| // instead of the default. | ||
| repeated string metric_names_for_computing_utilization = 5; |
There was a problem hiding this comment.
There is some other logic to this than just using these inplace of defaults right? https://github.com/envoyproxy/envoy/blob/b5137693d49c079ff50d2e3b7cbd539a78fe863d/api/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto#L94
There was a problem hiding this comment.
Yeah. I added a little more comment to make it more clear, one the the biggest value will be used if the custom metrics are specified.
Signed-off-by: wbpcode <wbphub@gmail.com>
This PR added new API for backend utilization policy. See istio/istio#60814 for more detail