-
Notifications
You must be signed in to change notification settings - Fork 83
feat: adds shared rate limiting to the relay using Redis #3796
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Fixed
Show fixed
Hide fixed
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Fixed
Show fixed
Hide fixed
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Fixed
Show fixed
Hide fixed
🎉 Snyk checks have passed. No issues have been found so far.✅ security/snyk check is complete. No issues have been found. (View Details) ✅ license/snyk check is complete. No issues have been found. (View Details) |
Test Results 22 files ± 0 289 suites - 6 21m 26s ⏱️ - 16m 31s For more details on these failures, see this check. Results for commit ff30194. ± Comparison against base commit d45744b. This pull request removes 5 and adds 20 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
ab78839
to
5aca99e
Compare
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some changes needed
packages/relay/src/lib/services/rateLimiterService/LruRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/LruRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/LruRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work as always and appricate the efforts.
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Show resolved
Hide resolved
packages/relay/tests/lib/services/rateLimiterService/rateLimiterService.spec.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Outdated
Show resolved
Hide resolved
packages/relay/src/lib/services/rateLimiterService/rateLimiterService.ts
Outdated
Show resolved
Hide resolved
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice I think it looks good just one item.
packages/relay/src/lib/services/rateLimiterService/RedisRateLimitStore.ts
Outdated
Show resolved
Hide resolved
Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM great work!
…r#3796) Signed-off-by: Simeon Nakov <simeon.nakov@limechain.tech> Co-authored-by: konstantinabl <konstantina.blajukova@gmail.com>
Description:
This PR refactors the rate limiting logic in our JSON-RPC relay service to support both local (LRUCache) and distributed (Redis) backends. The changes include:
Related issue(s):
Closes #3780, closes #3781, closes #3782
Notes for reviewer:
Checklist