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

Proposal: Shadow mode #293

Closed
jespersoderlund opened this issue Sep 21, 2021 · 3 comments
Closed

Proposal: Shadow mode #293

jespersoderlund opened this issue Sep 21, 2021 · 3 comments

Comments

@jespersoderlund
Copy link
Contributor

jespersoderlund commented Sep 21, 2021

It would be very helpful to roll-out rate limiting on existing systems with the help of a shadow-mode where the logic and statistics are run exactly as if the limits would have been in place, but where the response is always OK.

It has been added in a fork by replicon#12 by @repl-david-winiarski and would be great to have something like this integrated into the upstream.

The solution selected by replicon is to have a shadowmode: true attribute in the rate limiting definitions so that it can be selectively applied.

@mattklein123
Copy link
Member

Sure makes sense to me.

@jespersoderlund
Copy link
Contributor Author

Working on a PR inspired by replicon's fork. It's a bit intertwined with additional changes so but I'll push for review in a day or two hopefully

jespersoderlund pushed a commit to jespersoderlund/ratelimit that referenced this issue Sep 26, 2021
Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>
ysawa0 pushed a commit that referenced this issue Oct 5, 2021
* Global ShadowMod

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Adding shadow-mode issue #293

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fix doc format

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Extended example to showcase shadow mode as well, build a docker image with the current rate limit, extend envoy config to display rate limit headers. Extend statsd to show shadow mode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fine tuning of docs and example

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Added integration tests, fixed some review comments

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Doc format fix

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* gitignore for vscode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

Co-authored-by: Jesper Söderlund <jesper.soderlund@klarna.com>
@jespersoderlund
Copy link
Contributor Author

Thanks

debbyku pushed a commit to debbyku/ratelimit that referenced this issue Oct 13, 2021
* Global ShadowMod

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Adding shadow-mode issue envoyproxy#293

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fix doc format

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Extended example to showcase shadow mode as well, build a docker image with the current rate limit, extend envoy config to display rate limit headers. Extend statsd to show shadow mode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fine tuning of docs and example

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Added integration tests, fixed some review comments

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Doc format fix

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* gitignore for vscode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

Co-authored-by: Jesper Söderlund <jesper.soderlund@klarna.com>
Signed-off-by: Debby Ku <debbyku.2008@gmail.com>
debbyku pushed a commit to debbyku/ratelimit that referenced this issue Oct 13, 2021
* Global ShadowMod

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Adding shadow-mode issue envoyproxy#293

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fix doc format

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Extended example to showcase shadow mode as well, build a docker image with the current rate limit, extend envoy config to display rate limit headers. Extend statsd to show shadow mode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fine tuning of docs and example

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Added integration tests, fixed some review comments

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Doc format fix

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* gitignore for vscode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

Co-authored-by: Jesper Söderlund <jesper.soderlund@klarna.com>
Signed-off-by: Debby Ku <debbyku.2008@gmail.com>
timcovar pushed a commit to goatapp/ratelimit that referenced this issue Jan 16, 2024
* Global ShadowMod

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Adding shadow-mode issue envoyproxy#293

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fix doc format

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Extended example to showcase shadow mode as well, build a docker image with the current rate limit, extend envoy config to display rate limit headers. Extend statsd to show shadow mode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Fine tuning of docs and example

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Added integration tests, fixed some review comments

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* Doc format fix

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

* gitignore for vscode

Signed-off-by: Jesper Söderlund <jesper.soderlund@klarna.com>

Co-authored-by: Jesper Söderlund <jesper.soderlund@klarna.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants