new feature: support key-based rate limit
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Feature Description
Hi team, in production usage we've found hot key impacting storage service (the classic hotspotting issue for distributed system). I'm wondering apart from server-side support, if it's possible to add hotkey rate limit at client side as well, so we could
- reduce IO request proactively before service overloads
- 429 Too Many Requests is usually considered retriable, which could worsen production environment further (see https://github.com/apache/opendal/issues/7376 as well)
### Problem and Solution
I'm wondering if we could add key-based rate limit, one viable data structure could be [count-min sketch](https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch).
### Additional Context
_No response_
### Are you willing to contribute to the development of this feature?
- [ ] Yes, I am willing to contribute to the development of this feature.
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by reviewing the client-side rate-limit design and the proposed count-min sketch approach; done would require an agreed key-based limit and implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100