限制 nestjs 的 API 速率

Limit API rate for nestjs

我正在寻找一种限制 nestjs api 速率的好方法。 我看过不同的套餐,但它们都基于用户 ip 进行限制。

你知道任何使用用户访问令牌的好包吗?

如果不是,你能告诉我我的理解是否正确吗?

IF (DB has record where [dbAccessToken === reqAccessToken])    
    IF (currentDate <= record.timestamp + limitSeconds) 
        => throw "Rate Limit Error"

...
=> Resolve Request 
=> Add record in DB

我认为我的解决方案可行,但我担心它会影响 api 速度。

我认为限速有两种可能:

也可以使用 NestJS 中间件(此处解释:https://docs.nestjs.com/middleware)实现您提出的逻辑 - 但我不建议您这样做,因为这非常耗费资源!