summaryrefslogtreecommitdiff
path: root/packages/backend/src/server
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-02-18 10:36:29 -0500
committerHazelnoot <acomputerdog@gmail.com>2025-02-18 10:36:29 -0500
commit788751d24d91afd1f97b92b633c2177ee38398f4 (patch)
tree30951c2be32a61203d9bbf35680ceceb32f51671 /packages/backend/src/server
parentmerge: Fix error message when a peertube object is rejected for bad ID / URL ... (diff)
downloadsharkey-788751d24d91afd1f97b92b633c2177ee38398f4.tar.gz
sharkey-788751d24d91afd1f97b92b633c2177ee38398f4.tar.bz2
sharkey-788751d24d91afd1f97b92b633c2177ee38398f4.zip
implement redisForRateLimit
Diffstat (limited to 'packages/backend/src/server')
-rw-r--r--packages/backend/src/server/SkRateLimiterService.md1
-rw-r--r--packages/backend/src/server/SkRateLimiterService.ts2
2 files changed, 2 insertions, 1 deletions
diff --git a/packages/backend/src/server/SkRateLimiterService.md b/packages/backend/src/server/SkRateLimiterService.md
index fb007538fa..c8a2b4e85c 100644
--- a/packages/backend/src/server/SkRateLimiterService.md
+++ b/packages/backend/src/server/SkRateLimiterService.md
@@ -39,6 +39,7 @@ The first call is read-only, while the others perform at least one write operati
Two integer keys are stored per client/subject, and both expire together after the maximum duration of the limit.
While performance has not been formally tested, it's expected that SkRateLimiterService has an impact roughly on par with the legacy RateLimiterService.
Redis memory usage should be notably lower due to the reduced number of keys and avoidance of set / array constructions.
+If redis load does become a concern, then a dedicated node can be assigned via the `redisForRateLimit` config setting.
## Concurrency and Multi-Node Correctness
diff --git a/packages/backend/src/server/SkRateLimiterService.ts b/packages/backend/src/server/SkRateLimiterService.ts
index 038f12cb25..30bf092e4f 100644
--- a/packages/backend/src/server/SkRateLimiterService.ts
+++ b/packages/backend/src/server/SkRateLimiterService.ts
@@ -27,7 +27,7 @@ export class SkRateLimiterService {
@Inject('TimeService')
private readonly timeService: TimeService,
- @Inject(DI.redis)
+ @Inject(DI.redisForRateLimit)
private readonly redisClient: Redis.Redis,
@Inject('RoleService')