Skip to content

Allow support for a HTTPLocalConcurrencyLimitPolicy similar to HTTPLocalRateLimitPolicy #14900

@himanshu-garg-zepto

Description

@himanshu-garg-zepto

What problem are you trying to solve?

We want to support concurrency limit on requests and that too in a dynamic way similar to how the rate limit policy works. Currently the concurrency can be primarily controlled at the application layer using back-pressure but we would like to have this as policy at the mesh layer.

How should the problem be solved?

I was thinking we'll need the following steps:

  • add a new HTTPLocalConcurrencyLimitPolicy crd
  • add http_local_concurrency_limit parallel to http_local_rate_limit in linkerd2-proxy-api/proto/inbound.proto
  • add the flow in control plane to watch for k8s crd and serving it in its api
  • add the flow in proxy to add a concurrency limiter based on the limit provided by the control plane

Any alternatives you've considered?

Currently we're relying on the global concurrency limit (default 10_000)

How would users interact with this feature?

No response

Would you like to work on this feature?

yes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions