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

Split ParallelBest into "client groups" and "parallel" #1001

Closed
ThinkChaos opened this issue Apr 20, 2023 · 5 comments
Closed

Split ParallelBest into "client groups" and "parallel" #1001

ThinkChaos opened this issue Apr 20, 2023 · 5 comments
Milestone

Comments

@ThinkChaos
Copy link
Collaborator

The ParallelBestResolver fulfills two purposes:

  1. choosing upstreams based on the client
  2. querying those in parallel

I think we should split it.

The way I'd try to implement it is by having each group's list of resolvers actually be a single "parallel" resolver.
From an architecture point of view, blocky would be less "list of resolvers" and more tree-like. This change was already somewhat started with #449.

Going towards a tree-like architecture would also be a good step towards #476.

I have no plans of actually working on this at the moment, just want to track this and get feedback.

@0xERR0R
Copy link
Owner

0xERR0R commented Apr 20, 2023

I think it is a good point to think about different resolving strategies. Currently, we pick 2 random resolvers (random-weight based on last error timestamp) and take result from the fastest. We could also support following (just some examples):

  • use one resolver (round robin)
  • use always first resolver. If resolution not successful, take second and so on
  • rank resolvers by response time, take fastest
  • ....

@0xERR0R
Copy link
Owner

0xERR0R commented Apr 20, 2023

relevant issue: #355

@github-actions
Copy link
Contributor

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions bot added the Stale label Jul 20, 2023
@github-actions
Copy link
Contributor

This issue was closed because it has been stalled for 5 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jul 25, 2023
@ThinkChaos ThinkChaos reopened this Jul 28, 2023
@github-actions github-actions bot removed the Stale label Jul 29, 2023
@kwitsch kwitsch added this to the future milestone Jul 29, 2023
@0xERR0R
Copy link
Owner

0xERR0R commented Aug 21, 2023

@ThinkChaos: is there some open points after #1093 was merged?

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

No branches or pull requests

3 participants