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

feature: admissionControl filter #2030

Merged
merged 2 commits into from
Jul 6, 2022
Merged

Commits on Jul 5, 2022

  1. admissionControl is a load shedding filter, that works by observing b…

    …ackend errors
    
        admissionControl(metricsSuffix, mode, d, windowSize, minRPS, successThreshold, maxRejectProbability, exponent)
        admissionControl("myapp", "active", "1s", 5, 10, 0.9, 0.95, 2.0)
    
    metricSuffix is the suffix key to expose reject counter, should be unique by filter instance
    mode is one of "active", "inactive", "log"
    windowSize is within [minWindowSize, maxWindowSize]
    minRPS
    successThreshold is within (0,1] and sets the lowest request success rate at which the filter will not reject requests.
    maxRejectProbability is within (0,1] and sets the upper bound of reject probability.
    exponent >0, 1: linear, 1/2: qudratic, ..
    
    see also https://opensource.zalando.com/skipper/reference/filters/#admissioncontrol
    
    safety: handles background goroutine close on update and delete
    feature: add preprocessor to remove filter duplicates, last wins
    
    Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
    szuecs committed Jul 5, 2022
    Configuration menu
    Copy the full SHA
    97ee825 View commit details
    Browse the repository at this point in the history
  2. cleanup: remove duplicates and last wins

    cleanup: deleting a filter will close that filter
    
    Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
    szuecs committed Jul 5, 2022
    Configuration menu
    Copy the full SHA
    f466868 View commit details
    Browse the repository at this point in the history