|
|
@ -24,7 +24,7 @@ Load Balancing |
|
|
|
Load balancing configuration is provided by a grpc_lb_policy object, stored as |
|
|
|
Load balancing configuration is provided by a grpc_lb_policy object, stored as |
|
|
|
part of grpc_client_config. |
|
|
|
part of grpc_client_config. |
|
|
|
|
|
|
|
|
|
|
|
A load balancing policies primary job is to pick a target server given only the |
|
|
|
A load balancing policy primary job is to pick a target server given only the |
|
|
|
initial metadata for a request. It does this by providing a grpc_subchannel |
|
|
|
initial metadata for a request. It does this by providing a grpc_subchannel |
|
|
|
object to the owning channel. |
|
|
|
object to the owning channel. |
|
|
|
|
|
|
|
|
|
|
@ -39,15 +39,16 @@ decisions (for example, by avoiding disconnected backends). |
|
|
|
|
|
|
|
|
|
|
|
Configured sub-channels are fully setup to participate in the grpc data plane. |
|
|
|
Configured sub-channels are fully setup to participate in the grpc data plane. |
|
|
|
Their behavior is specified by a set of grpc channel filters defined at their |
|
|
|
Their behavior is specified by a set of grpc channel filters defined at their |
|
|
|
construction. To customize this behavior, resolvers build grpc_subchannel_factory |
|
|
|
construction. To customize this behavior, resolvers build |
|
|
|
objects, which use the decorator pattern to customize construction arguments for |
|
|
|
grpc_subchannel_factory objects, which use the decorator pattern to customize |
|
|
|
concrete grpc_subchannel instances. |
|
|
|
construction arguments for concrete grpc_subchannel instances. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Naming for GRPC |
|
|
|
Naming for GRPC |
|
|
|
=============== |
|
|
|
=============== |
|
|
|
|
|
|
|
|
|
|
|
Names in GRPC are represented by a URI. |
|
|
|
Names in GRPC are represented by a URI (as defined in |
|
|
|
|
|
|
|
[RFC 3986](https://tools.ietf.org/html/rfc3986)). |
|
|
|
|
|
|
|
|
|
|
|
The following schemes are currently supported: |
|
|
|
The following schemes are currently supported: |
|
|
|
|
|
|
|
|
|
|
@ -56,5 +57,6 @@ dns:///host:port - dns schemes are currently supported so long as authority is |
|
|
|
release) |
|
|
|
release) |
|
|
|
|
|
|
|
|
|
|
|
unix:path - the unix scheme is used to create and connect to unix domain |
|
|
|
unix:path - the unix scheme is used to create and connect to unix domain |
|
|
|
sockets - the authority must be empty, and the path represents |
|
|
|
sockets - the authority must be empty, and the path |
|
|
|
the absolute or relative path to the desired socket |
|
|
|
represents the absolute or relative path to the desired |
|
|
|
|
|
|
|
socket |
|
|
|