aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/load-balancing.md
diff options
context:
space:
mode:
authorGravatar David G. Quintas <dgq@google.com>2016-02-10 22:54:36 -0800
committerGravatar David G. Quintas <dgq@google.com>2016-02-10 22:54:36 -0800
commit8729d03fdf47b535012312fc4b983b0b27b49918 (patch)
tree763ef17f416d038ae8b68b721f08b7955b03a466 /doc/load-balancing.md
parent8003d767b4391d757c808cebf529ea3add23c319 (diff)
Update load-balancing.md
Formatting
Diffstat (limited to 'doc/load-balancing.md')
-rw-r--r--doc/load-balancing.md12
1 files changed, 6 insertions, 6 deletions
diff --git a/doc/load-balancing.md b/doc/load-balancing.md
index ffae33fb04..b1a27057ab 100644
--- a/doc/load-balancing.md
+++ b/doc/load-balancing.md
@@ -1,17 +1,17 @@
Load Balancing in gRPC
=======================
-## Objective
+# Objective
To design a load balancing API between a gRPC client and a Load Balancer to
instruct the client how to send load to multiple backend servers.
-## Background
+# Background
Prior to any gRPC specifics, we explore some usual ways to approach load
balancing.
-## Proxy Model
+### Proxy Model
Using a proxy provides a solid trustable client that can report load to the load
balancing system. Proxies typically require more resources to operate since they
@@ -21,7 +21,7 @@ latency to the RPCs.
The proxy model was deemed inefficient when considering request heavy services
like storage.
-## Balancing-aware Client
+### Balancing-aware Client
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,
@@ -40,7 +40,7 @@ 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.
-## External Load Balancing Service
+### 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.
@@ -52,7 +52,7 @@ unavailability or health issues. The load balancer will make any necessary
complex decisions and inform the client. The load balancer may communicate with
the backend servers to collect load and health information.
-## Proposed Architecture
+# Proposed Architecture
The gRPC load balancing approach follows the third approach, by having an
external load balancer which provides simple clients with a list of servers.