spring-cloud / spring-cloud/spring-cloud-gateway

Add load balancing mechanism Peak EWMA for Spring-cloud-gateway for Kubernetes

Open
#2,865 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
4.9k
Forks
3.5k
Avg merge
20h 57m
Merged PRs (30d)
8

Description

Describe the solution you'd like
It would be great if Spring-cloud-gateway for Kubernetes supported the Peak EWMA (peak exponentially-weighted moving average) load balancing mechanism.

You can read about what Peak EWMA is here:

It would be great if spring-cloud-gateway for Kubernetes could track the response time of endpoints in Kubernetes services and could balance based on EWMA. This is very useful when the application is under high load.

Describe alternatives you've considered

  • As an alternative, we can use Peak EWMA balancing on the Kubernetes Ingress Controller, but then we need to pass all internal traffic in Kubernetes through it. This heavily loads the network bandwidth. And actually it's not a very good practice. Since ingress controller is used to balance internal Kubernetes traffic, not external.

load balance Ewma on Kubernetes Ingress Controller

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named in the issue. Start by locating the Kubernetes service endpoint load-balancing path and its existing balancing mechanisms, then use the linked Peak EWMA references to define the design. Done means response-time tracking and Peak EWMA balancing for Kubernetes service endpoints, covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
api, backend, cloud, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.