Skip to content
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

improvement: Implement balanced scorer as URISelector #350

Draft
wants to merge 1 commit into
base: dt/uri-retry-middleware
Choose a base branch
from

Conversation

dtrejod
Copy link
Contributor

@dtrejod dtrejod commented Aug 26, 2022

Before this PR

Referencing the new URIScorer interface from #349, we add a implementation of the URIScorer for the balanced URI scoring algorithm. Reference the original Balancer scorer algo here:
https://github.com/palantir/conjure-go-runtime/blob/develop/conjure-go-client/httpclient/internal/balanced_scorer.go

After this PR

We now have a URIScorer for the balanced algo. The balanced algo tracks the number of inflight requests, and server side errors in order to minimize the number of requests sent to servers with too many requests/failures.

==COMMIT_MSG==
Implement balanced scorer as URISelector
==COMMIT_MSG==

Reference original PR adding balanced algo: #208

Possible downsides?


This change is Reviewable

@dtrejod dtrejod changed the title improvement: Refactor req retrier/URI selection into new URISelector interface improvement: Implement balanced scorer as URISelector Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant