-
Notifications
You must be signed in to change notification settings - Fork 219
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add backend weight round robin select (#34)
* Add upstream selector, there are two selector now: - random selector - weight random selector random selector will choose upstream at random; weight random selector will choose upstream at random with weight Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Rewrite config and config file example, prepare for weight round robbin selector Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Replace bad implement of weight random selector with weight round robbin selector, the algorithm is nginx weight round robbin like Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Use new config module Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Disable deprecated DualStack set Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Fix typo Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Optimize upstreamSelector judge Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Fix typo Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Add config timeout unit tips Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Set wrr http client timeout to replace http request timeout Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Add weight value range Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Add a line ending for .gitignore Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Optimize config file style Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Modify Weight type to int32 Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Add upstreamError Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Rewrite Selector interface and wrr implement Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Use http module predefined constant to judge req.response.StatusCode Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Use Selector.ReportUpstreamError to report upstream error for evaluation loop in real time Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Make client selector field private Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Replace config file url to URL Add miss space for 'weight= 50' Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Rewrite Selector.ReportUpstreamError to Selector.ReportUpstreamStatus, report upstream ok in real time Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Fix checkIETFResponse: if upstream OK, won't increase weight Signed-off-by: Sherlock Holo <sherlockya@gmail.com> * Fix typo Signed-off-by: Sherlock Holo <sherlockya@gmail.com>
- Loading branch information
1 parent
8f2004d
commit fec1e84
Showing
14 changed files
with
552 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,3 +12,5 @@ | |
|
||
# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 | ||
.glide/ | ||
|
||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.