rate-limiter-at

时间:2024-04-22 01:53:38
【文件属性】:

文件名称:rate-limiter-at

文件大小:55KB

文件格式:ZIP

更新时间:2024-04-22 01:53:38

TypeScript

限速器 此实现正在解决Rate Limiter Air Tasker编码练习。 我使用TypeScript解决了这个问题,可以使用Express.js库将它与Node.JS应用程序一起使用。 在所附的示例中,我已将该解决方案用作应用程序中间件的一部分。 我实现了两种已知的策略:固定窗口和令牌桶用于内存使用。 我使用不止一种策略解决问题的原因是为了表明可以轻松扩展策略数量并为消费者提供多种选择。 我故意使用“策略模式”来提供在运行时在不同速率限制策略之间进行选择的能力。 该库导出一个模块:内存使用率,如果开发人员想要支持另一种技术(例如Redis,RDB等),则可以添加另一个模块。 假设: rateLimiterMemoryStrategy模块的用法将用于非分布式系统。 options对象将被设置为有效输入。 用户将发送的密钥将是有效的(例如:userId可以是数字或字符串


【文件预览】:
rate-limiter-at-main
----.gitignore(2KB)
----package.json(564B)
----package-lock.json(97KB)
----build()
--------index.js(275B)
--------index.js.map(173B)
--------lib()
--------test()
----LICENSE(1KB)
----tsconfig.json(233B)
----README.md(4KB)
----index.ts(123B)
----lib()
--------rateLimiterResult.ts(719B)
--------rateLimiterMemory()
--------rateLimiterStrategy.ts(164B)
----test()
--------RateLimiterResult.test.ts(600B)
--------rateLimiterMemory()

网友评论