Redis centralized rate limiting, GCRA
- 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
Assessment
This issue has not been assessed yet.