做一个业务层的 ratelimit saas 服务是否可行

3 天前
 xcaptain

最近做了一些 AI 接口套壳的应用,发现在接口校验这里都用到一个通用的模式,如:

  1. 免费用户每 5 分钟能使用一次接口,一天最多 3 次
  2. 付费用户每分钟能使用一次接口,

这种功能虽然不难做,但是每新做一个应用都要实现一遍,还是很繁琐的,如果有一个 SaaS 服务,能让开发者快速实现 ratelimit ,是否会有人用呢?例如只要在接口入口处加一行代码:

checkRateLimit(tierName, resourceName)

就能基于在 SaaS 上配置的规则,自动判断当前用户的付费等级,是否能访问这个资源。

大家觉得这个点子可行吗?

850 次点击
所在节点    奇思妙想
7 条回复
needpp
3 天前
可以,快做出来
xcaptain
3 天前
我也觉得可行,问了 AI ,目前做云厂商内置的限流服务,要么在边缘的 CDN 层,要么在网关层,还没有能集成到应用层的。对于小团队来说,自己开发 ratelimit 功能得先去 github 找开源代码,然后写代码集成,然后部署,可能还需要配置数据库,redis 等依赖,一套下来可能几天就过去了,还不如找个 saas 几行代码接入一下
HaibaraDP
3 天前
java 的话 bucket4j 的 springboot starter 引入之后配置文件里写规则就行了,1 小时都用不了吧
xcaptain
3 天前
确实,一说到 ratelimit 大家想到的是应用框架里的限流中间件,启用后能基于 userId 或者 ip 做一些频次限制。我这个改为叫 quota 管理可能更合适,AI 时代之前接口都是没有成本随便用只要限制次数就行,现在 AI 接口每次调用基本都会产生一点成本,所以要更精细的控制,如基于用户订阅计划来限制
kulove
2 天前
类似 Upstash ?
clarkethan
2 天前
ai 写这个小功能,不需要一分钟吧?
asAnotherJack
2 天前
你提到的这两种请求频次低的可以,如果频次高就不太合适了,比如每秒几百几千,请求 saas 的耗时会变成一个瓶颈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1162462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX