-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
balance: Specialize the balancer for P2C #288
Merged
Merged
Commits on May 30, 2019
-
balance: Specialize the balancer for P2C
As described in tower-rs#286, `Balance` had a few problems: - it is responsible for driving all inner services to readiness, making its `poll_ready` O(n) and not O(1); - the `choose` abstraction was a hinderance. If a round-robin balancer is needed it can be implemented separately without much duplicate code; and - endpoint errors were considered fatal to the balancer. This changes replaces `Balance` with `P2CBalance` and removes the `choose` module. Endpoint service failures now cause the service to be removed from the balancer gracefully. Endpoint selection is now effectively constant time, though it biases for availability in the case when random selection does not yield an available endpoint. `tower-test` had to be updated so that a mocked service could fail after advertising readiness.
Configuration menu - View commit details
-
Copy full SHA for 68ff2df - Browse repository at this point
Copy the full SHA 68ff2dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf5cc8c - Browse repository at this point
Copy the full SHA cf5cc8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 499ef37 - Browse repository at this point
Copy the full SHA 499ef37View commit details -
Configuration menu - View commit details
-
Copy full SHA for de78134 - Browse repository at this point
Copy the full SHA de78134View commit details -
The balance layer now operates over MakeP2CBalance, which composes over layers that produce Discover instances.
Configuration menu - View commit details
-
Copy full SHA for 538e737 - Browse repository at this point
Copy the full SHA 538e737View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1c6808 - Browse repository at this point
Copy the full SHA c1c6808View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba8653a - Browse repository at this point
Copy the full SHA ba8653aView commit details
Commits on May 31, 2019
-
Configuration menu - View commit details
-
Copy full SHA for a998084 - Browse repository at this point
Copy the full SHA a998084View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d00a44 - Browse repository at this point
Copy the full SHA 5d00a44View commit details -
Configuration menu - View commit details
-
Copy full SHA for d034739 - Browse repository at this point
Copy the full SHA d034739View commit details -
Configuration menu - View commit details
-
Copy full SHA for 703bd83 - Browse repository at this point
Copy the full SHA 703bd83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75cdf4b - Browse repository at this point
Copy the full SHA 75cdf4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 335d29f - Browse repository at this point
Copy the full SHA 335d29fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d29026 - Browse repository at this point
Copy the full SHA 6d29026View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ad8ce8 - Browse repository at this point
Copy the full SHA 9ad8ce8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7c9b49 - Browse repository at this point
Copy the full SHA a7c9b49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7479265 - Browse repository at this point
Copy the full SHA 7479265View commit details -
Configuration menu - View commit details
-
Copy full SHA for 264b2a8 - Browse repository at this point
Copy the full SHA 264b2a8View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.