linkerd2 icon indicating copy to clipboard operation
linkerd2 copied to clipboard

Add support for rate-limiting

Open ryan4yin opened this issue 4 years ago • 7 comments

Feature Request

What problem are you trying to solve?

by adding rate limits in the service mesh, we can avoid one service gets bombarded by requests from another service, if the another service's pods all crashed and restart concurrently.

related to: https://github.com/linkerd/linkerd2/issues/4649

How should the problem be solved?

by add support for rate-limiting in service mesh.

Any alternatives you've considered?

How would users interact with this feature?

ryan4yin avatar Nov 13 '21 19:11 ryan4yin

+1

mdnfiras avatar Nov 23 '22 18:11 mdnfiras

would like to have this feature!

rye-sw avatar Jul 25 '23 08:07 rye-sw

+1

sekar-saravanan avatar Aug 19 '24 03:08 sekar-saravanan

Any updates on this feature request? Rate limiting is particularly useful when modern, mesh-hosted workloads are interacting with workloads outside of the cluster. If this ends up implemented, it might be something to consider in the feature set. https://github.com/linkerd/linkerd2/issues/4649

amit2kesari avatar Sep 18 '24 10:09 amit2kesari

In progress. Targeting the next release (2.17) if all goes well.

wmorgan avatar Sep 21 '24 13:09 wmorgan

@wmorgan what a wonderful news! 😍 Will this rate limiting be possible also for egress traffic ? 🥹🥹🥹🥹 (i saw 2.17 might have egress traffic control) Indeed, may be amazing, to be able to limit traffic on egress (i have for example one use case where all my services reach one website and the website is considering this as an attack because of the absence of rate limiting and blocking us) Thanks again linkerd for your amazing work, it is really a pleasure to use your tool

4FunAndProfit avatar Oct 14 '24 16:10 4FunAndProfit

Thanks for the kind words @4FunAndProfit !

For 2.17 scope we are adding inbound rate-limiting only that is focused on the user story in the issue (helping service owners protect themselves from being overloaded). To that end it will be "local" rate-limiting, without requiring a central server to maintain state, etc.

For outbound rate limiting (which I'm assuming is to help prevent going over quota or managing costs, etc. that will require more accuracy than local rate limiting) that will need to be a separate effort we prioritize. Happy to listen to the community here on different needs and user stories that should be considered for that effort.

DavidMcLaughlin avatar Oct 17 '24 16:10 DavidMcLaughlin

@wmorgan Close? Fixed by #4649 ?

https://linkerd.io/2.18/reference/rate-limiting/

joebowbeer avatar Apr 24 '25 06:04 joebowbeer