The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.0 KiB

xDS Features in gRPC

This document lists the xDS features supported in various gRPC language implementations and versions.

Note that a gRPC client will simply ignore the configuration of a feature it does not support. The gRPC client does not generate a log to indicate that some configuration was ignored. It is impractical to generate a log and keep it up-to-date because xDS has a large number of APIs that gRPC does not support and the APIs keep evolving too. We recommend reading the first gRFC on xDS support in gRPC to understand the design philosophy.

The EDS policy will not support overprovisioning, which is different from Envoy. Envoy takes the overprovisioning into account in both locality-weighted load balancing and priority failover, but gRPC assumes that the xDS server will update it to redirect traffic when this kind of graceful failover is needed. gRPC will send the envoy.lb.does_not_support_overprovisioning client feature to the xDS server to tell the xDS server that it will not perform graceful failover; xDS server implementations may use this to decide whether to perform graceful failover themselves.

The EDS policy will not support per-endpoint stats; it will report only per-locality stats.

An lb_endpoint is ignored if the health_status is not HEALTHY or UNKNOWN. The optional load_balancing_weight is always ignored.

Initially, only google_default channel creds will be supported to authenticate with the xDS server.

The gRPC language implementations not listed in the table below do not support xDS features.

Features gRFCs C++, Python,
Ruby, PHP
Java Go Node
xDS Infrastructure in gRPC client channel:
  • LDS->RDS->CDS->EDS flow
  • ADS stream
A27 v1.30.0 v1.30.0 v1.30.0 v1.2.0
Load Balancing:
  • Virtual host domains matching
  • Only default path ("" or "/") matching
  • Priority-based weighted round-robin locality picking
  • Round-robin endpoint picking within locality
  • Cluster route action
  • Client-side Load reporting via LRS
A27 v1.30.0 v1.30.0 v1.30.0 v1.2.0
Request matching based on:Request routing to multiple clusters based on weights A28 v1.31.0 v1.31.0 v1.31.0