API 管理

场景

天气 API 运行稳定,但用户需求更多。

用户原声汇总

用户反馈

  • 你们只有天气 API 吗?
  • 需要新闻 API
  • 需要股票查询 API
  • 需要 IP 归属地查询

决策

我决定扩展 API 种类:

第一阶段新增 API:

  1. 新闻 API - 获取热点新闻
  2. 股票 API - 查询股票行情
  3. IP 查询 API - 查询 IP 归属地
  4. 邮箱验证 API - 验证邮箱有效性

未来计划:

  • 货币汇率 API
  • 二维码生成 API
  • 短链接 API
  • 图片压缩 API
选型边界
为什么先做统一 API 管理模型
触发问题
新增多个 API 后,如果每个 API 都单独写鉴权、限流、缓存和数据源配置,维护成本会快速失控。
候选方案
每个 API 独立实现、统一配置表、自研 API 管理模型、直接接入成熟 API Gateway。
选择理由
当前平台还在快速试错,自研轻量模型能先统一元数据、权限、套餐和数据源配置,不必一开始引入重型网关。
代价
需要维护注册流程和配置校验;模型设计不当会让后续 API 接入受限。
暂不解决
暂不做完整 API Gateway 的插件体系、灰度发布和流量编排,先把多个 API 的基础管理统一起来。

API 管理系统设计

数据库设计

统一 API 管理模型

API 注册机制

设计流程
API 注册机制
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:准备接口配置、数据源状态、调度参数和重试规则
  3. 步骤 3:记录重试结果、失败原因和下一次执行计划
  4. 步骤 4:执行接口调用、任务调度、预热或失败重试
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

统一处理流程

设计流程
统一处理流程
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:失败重试、熔断或降级
  3. 步骤 3:计算用量、账单或套餐状态
  4. 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

新增 API 接入流程

新闻 API

设计流程
新闻 API
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:刷新接口缓存、预热结果或数据源健康状态
  3. 步骤 3:写入队列并异步消费
  4. 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

股票 API

设计流程
股票 API
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:刷新接口缓存、预热结果或数据源健康状态
  3. 步骤 3:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

IP 查询 API

设计流程
IP 查询 API
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:刷新接口缓存、预热结果或数据源健康状态
  3. 步骤 3:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

API 文档

自动生成文档

设计流程
自动生成文档
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:刷新接口缓存、预热结果或数据源健康状态
  3. 步骤 3:读取 API 配置、上游数据源和调度上下文
  4. 步骤 4:根据数据源健康、任务状态和重试次数选择下一步
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

API 列表

设计流程
API 列表
  1. 步骤 1:执行接口调用、任务调度、预热或失败重试
  2. 步骤 2:刷新接口缓存、预热结果或数据源健康状态
  3. 步骤 3:计算用量、账单或套餐状态
  4. 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。

当前架构