如题,产品需要对 api 进行按次数收费,比如 1w 次 /1 元钱,或者每个月 40 元钱 4w 次这样,只是打个比方,价格不重要。
目前就两个思路:
一.每次 api 调用都同步的到数据库里面进行加 1 ,然后判断是否超过阈值,没超过放行,超过了限制。 这里面流程就长了:取得用户 ID ,判断用户 token 权限,对表字段进行加一,然后各种逻辑判断。 如果是网关级别的,会大大降低 api 性能。 优势是精确,劣势是性能低。
二.每次 api 调用直接推到 mq 里面,后方进行 api 统计,异步将结果写入 cache 。 再次 api 调用查 cache ,超出阈值,限流。 优势是高性能,劣势是不精确。
下面是两个业界的 api 收费方式: https://coinmarketcap.com/api/pricing/ https://cloud.tencent.com/document/product/628/39300
请教大家,有没有什么更好的解决方案?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.