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

YARP to combine with load balancing #656

Closed
VenkateshSrini opened this issue Jan 10, 2021 · 2 comments
Closed

YARP to combine with load balancing #656

VenkateshSrini opened this issue Jan 10, 2021 · 2 comments
Labels
Type: Idea This issue is a high-level idea for discussion.

Comments

@VenkateshSrini
Copy link

What should we add or change to make your life better?

I would like YARP to add a Load balancing facility. It can be thought of in two format

  1. One is Canary deployment, where we can say we need 80% traffic to the old route and 20% to the new one.
  2. Unirfomly distribute load using round-robin method across routes

Why is this important to you?

  1. In Kubernetes deployment we can use this easily. Otherwise, just for such a small requirement, we need to install cluster wide service mesh. As we all understand Service Mesh is complex.
@VenkateshSrini VenkateshSrini added the Type: Idea This issue is a high-level idea for discussion. label Jan 10, 2021
@Tratcher
Copy link
Member

  1. One is Canary deployment, where we can say we need 80% traffic to the old route and 20% to the new one.

This is tracked under A/B testing at #126

2. Unirfomly distribute load using round-robin method across routes

Load balancing is enabled by default, and round-robin is one of the options. The default load balancing algorithm is PowerOfTwoChoices since it is both very quick and simple but still quite good at distributing load. Round-robin assumes all requests are of equal cost, it doesn't take into account any backlog that builds up on a given node.

// Pick two, and then return the least busy. This avoids the effort of searching the whole list, but
// still avoids overloading a single destination.

@karelz
Copy link
Member

karelz commented Feb 11, 2021

Duplicate of #126

@karelz karelz marked this as a duplicate of #126 Feb 11, 2021
@karelz karelz closed this as completed Feb 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Idea This issue is a high-level idea for discussion.
Projects
None yet
Development

No branches or pull requests

3 participants