首页 > 解决方案 > 跟踪 API 信用的架构?

问题描述

我有一个用户表,其中有一个 api 键列和总积分/已用积分列。

用户获得一个 API 密钥,使用该密钥,他们可以使用我的 API,但前提是used credits<=total credits.

因为,这是一个 API,我可能很容易每秒处理几十个请求。这样就排除了在某种 API 中间件中的每次调用时直接从数据库读取/写入。

那么,正确的做法是什么?

一般来说,我需要该解决方案具有高度可扩展性并支持高并发(每个实例>100 个请求/秒,并且说>100M API 调用/月)。

有任何想法吗?

标签: databaseapiredismonitoringapi-key

解决方案


  • 使用 Redis 存储 API 密钥。您无需在此处设置金额。只需键入 TTL 和 API 密钥。
  • 使用 Apache Kafka 或类似的东西来接收客户交易:借记或贷记
  • 使用最终的股票表作为“客户的银行账户”,该表将接收来自消息经纪人的所有借记和贷记交易的总和。计算并向客户发送有关资金不足的请求信用或消息。

类似的东西。PS您还可以通过按键在几秒钟内限制交易。但它是可选的。


推荐阅读