aws / aws-app-mesh-roadmap

AWS App Mesh is a service mesh that you can use with your microservices to manage service to service communication
Apache License 2.0
347 stars 25 forks source link

Feature Request: Support for custom load balancing algorithm #237

Open zaheershaik opened 4 years ago

zaheershaik commented 4 years ago

If you want to see App Mesh implement this idea, please upvote with a :+1:.

Tell us about your request Looks like App Mesh only supports round-robin algorithm to balance the traffic to backend services or ECS tasks. Can AWS App Mesh support for custom load balancing to ECS Fargate Tasks and backend services? As per the documentation, Envoy seems to support some smart load balancing algorithms which might help in handling certain traffic patterns.

Which integration(s) is this request for? ECS on Fargate

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? I would like to have flexibility to choose the right load balancing algorithm based on the business need. For example, currently we encountered and issue we would like to arrest the traffic spikes. We were planning to deploy a front proxy to our service to help us balance and rate limit the traffic. It'd have been good to try and make use of some smart load balancing algorithms that Envoy supports.

Are you currently working around this issue? Limited by round-robin algorithm.

Additional context N/A

Attachments N/A

roadtest commented 4 years ago

AWS application load balancer supports round-robin and least outstanding request algorithm. But App mesh only supports round-robin balancing.

dastbe commented 4 years ago

Thanks for the feature request! We're definitely interested in doing this, as well as potentially adding host selection algorithms like shuffle sharding.

For example, currently we encountered and issue we would like to arrest the traffic spikes. We were planning to deploy a front proxy to our service to help us balance and rate limit the traffic. It'd have been good to try and make use of some smart load balancing algorithms that Envoy supports.

So reading this it sounds like you'll be morre interested in #107 which is our rate limiting roadmap item. While maglev/consistent hashing could help isolate inbound traffic to a few overloaded servers, it's still not going to solve the problem of stopping traffic spikes before they hit your applications.

jesuscicd commented 3 years ago

Hi! My point of you that without all powerful of envoy(including ability to configure balancing) it doesn't make sense to use App Mesh. I fill this missing feature on my current project and unfortunately I compelled get out of App Mesh.