Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
Grpc
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tci-gateway-module
Grpc
Commits
51073f30
Commit
51073f30
authored
9 years ago
by
David G. Quintas
Browse files
Options
Downloads
Patches
Plain Diff
Update load-balancing.md
Addressed comments.
parent
8729d03f
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/load-balancing.md
+9
-8
9 additions, 8 deletions
doc/load-balancing.md
with
9 additions
and
8 deletions
doc/load-balancing.md
+
9
−
8
View file @
51073f30
...
...
@@ -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.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment