grpc-java/xds
Chengyuan Zhang 47d1488373
xds: implement xDS circuit breaking max_requests (#7517)
Implemented xDS circuit breaking for the maximum number of requests can be in-flight. The threshold is retrieved from CDS responses and is configured at the cluster level. It is implemented by wrapping the Picker spawned by EDS LB policy (which resolves endpoints for a single cluster) with stream-limiting logic. That is, when the picker is trying to create a new stream (aka, a new call), it is controlled by the number of open streams created by the current EDS LB policy. RPCs dropped by circuit breakers are recorded into total number of drops at cluster level and will be reported to TD via LRS.

In the future, multiple gRPC channels can be load balancing requests to the same (global) cluster. Those request should share the same quota for maximum number of requests can be in-flight. We will use a global counter for aggregating the number of currently-in-flight requests per cluster.
2020-11-02 14:24:22 -08:00
..
src xds: implement xDS circuit breaking max_requests (#7517) 2020-11-02 14:24:22 -08:00
third_party xds: import v2 version of aggregate.ClusterConfig proto (#7573) 2020-10-29 23:49:54 -07:00
build.gradle xds: implement MeshCACertificateProvider (#7274) 2020-08-07 16:16:22 -07:00