aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/service_config.md
diff options
context:
space:
mode:
authorGravatar Mark D. Roth <roth@google.com>2017-03-22 12:19:03 -0700
committerGravatar Mark D. Roth <roth@google.com>2017-03-22 12:19:03 -0700
commit1eb96dc7fd70d72849b638aafd39de815521b540 (patch)
treee9f21a1f48f3dc0f995fd5d524e8436af6227a86 /doc/service_config.md
parentbe0dba162edf8a105a0e529f1e70e2b352137d4c (diff)
Fix semantics of LB policy selection.
Diffstat (limited to 'doc/service_config.md')
-rw-r--r--doc/service_config.md20
1 files changed, 14 insertions, 6 deletions
diff --git a/doc/service_config.md b/doc/service_config.md
index ecc23817d1..c5d4ef42b1 100644
--- a/doc/service_config.md
+++ b/doc/service_config.md
@@ -13,12 +13,20 @@ The service config is a JSON string of the following form:
```
{
// Load balancing policy name.
- // Supported values are 'round_robin' and 'grpclb'.
- // Optional; if unset, the default behavior is pick the first available
- // backend.
- // Note that if the resolver returns only balancer addresses and no
- // backend addresses, gRPC will always use the 'grpclb' policy,
- // regardless of what this field is set to.
+ // Currently, the only selectable client-side policy provided with gRPC
+ // is 'round_robin', but third parties may add their own policies.
+ // This field is optional; if unset, the default behavior is to pick
+ // the first available backend.
+ // If the policy name is set via the client API, that value overrides
+ // the value specified here.
+ //
+ // Note that if the resolver returns at least one balancer address (as
+ // opposed to backend addresses), gRPC will use grpclb (see
+ // https://github.com/grpc/grpc/blob/master/doc/load-balancing.md),
+ // regardless of what LB policy is requested either here or via the
+ // client API. However, if the resolver returns backend addresses as
+ // well as balancer addresses, the client may fall back to the requested
+ // policy if it is unable to reach any of the grpclb load balancers.
'loadBalancingPolicy': string,
// Per-method configuration. Optional.