Update load-balancing.md

Addressed comments.
pull/5195/head
David G. Quintas 9 years ago
parent 8729d03fdf
commit 51073f307f
  1. 17
      doc/load-balancing.md

@ -25,9 +25,10 @@ like storage.
This thicker client places more of the load balancing logic in the client. For
example, the client could contain many load balancing policies (Round Robin,
Random, etc) used to select servers from a list. In this model, a load balancer
would be responsible for providing a list of servers and let the client choose
the preferred server from the list.
Random, etc) used to select servers from a list. In this model, a list of
servers would be either statically configured in the client, provided by the
name resolution system, an external load balancer, etc. In any case, the client
is responsible for choosing the preferred server from the list.
One of the drawbacks of this approach is writing and maintaining the load
balancing policies in multiple languages and/or versions of the clients. These
@ -36,14 +37,14 @@ to server communication so the client would need to get thicker to support
additional RPCs to get health or load information in addition to sending RPCs
for user requests.
It would also significantly complicate the API: the new design hides the load
balancing complexity of multiple layers and presents it as a simple list of
servers to the client.
It would also significantly complicate the client's code: the new design hides
the load balancing complexity of multiple layers and presents it as a simple
list of servers to the client.
### External Load Balancing Service
The client load balancing code is kept simple and portable, implementing
straightforward algorithms (ie, Pick First, Round Robin) for server selection.
well-known algorithms (ie, Round Robin) for server selection.
Complex load balancing algorithms are instead provided by the load balancer. The
client relies on the load balancer to provide _load balancing configuration_ and
_the list of servers_ to which the client should send requests. The balancer
@ -76,7 +77,7 @@ specific list of “picked” servers in a particular order. The balancer can
optionally provide an expiration interval after which the server list should no
longer be trusted and should be updated by the balancer.
The load balancer is may open reporting streams to each server contained in the
The load balancer may open reporting streams to each server contained in the
server list. These streams are primarily used for load reporting. For example,
Weighted Round Robin requires that the servers report utilization to the load
balancer in order to compute the next list of servers.

Loading…
Cancel
Save