dotnet / dotnet/aspnetcore

Redis centralized rate limiting, GCRA

Open
#65,792 18 comments 5 reactions 1 assignee Claimed by @DeagleGross View on GitHub
area-middleware design-proposal feature-rate-limit
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

Related: https://github.com/dotnet/aspnetcore/issues/41861, https://github.com/dotnet/aspnetcore/issues/53426

## Summary

Redis is soon to gain an inbuilt [GCRA rate limiter](https://github.com/redis/redis/pull/14826). Support is being added [via SE.Redis](https://github.com/StackExchange/StackExchange.Redis/pull/3034).

Questions here:

1. should this (and can this) be used as an implementation of the asp-net rate-limiting abstraction?
2. if "yes" to 1, where should that be? here? or in a Redis-owned package?

Relevant context / disclosure:

0. asp-net already has relevant SE.Redis dependencies, but these would need to be rev'd
1. I'm the main SE.Redis maintainer
2. I work for Redis
3. I used to be part of the asp-net team

So: I'm happy to offer my time here towards an implementation, as it fits both my knowledge and objectives. I'm also entirely happy to just say "hey, this API exists; have fun" if people don't want that. But if we *do* want such an API, then the interesting question is "where?" - would this go "here" alongside the other implementations, or would we want to keep things isolated, i.e. I create a Redis-owned package under the redis org.

I wanted to discuss it before jumping in.

(pinging @DeagleGross and @BrennanConroy just to help me with routing)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.