这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
API 管理
场景
天气 API 运行稳定,但用户需求更多。
用户原声汇总
用户反馈
你们只有天气 API 吗?
需要新闻 API
需要股票查询 API
需要 IP 归属地查询
决策
我决定扩展 API 种类:
第一阶段新增 API:
- 新闻 API - 获取热点新闻
- 股票 API - 查询股票行情
- IP 查询 API - 查询 IP 归属地
- 邮箱验证 API - 验证邮箱有效性
未来计划:
- 货币汇率 API
- 二维码生成 API
- 短链接 API
- 图片压缩 API
选型边界
为什么先做统一 API 管理模型
- 触发问题
- 新增多个 API 后,如果每个 API 都单独写鉴权、限流、缓存和数据源配置,维护成本会快速失控。
- 候选方案
- 每个 API 独立实现、统一配置表、自研 API 管理模型、直接接入成熟 API Gateway。
- 选择理由
- 当前平台还在快速试错,自研轻量模型能先统一元数据、权限、套餐和数据源配置,不必一开始引入重型网关。
- 代价
- 需要维护注册流程和配置校验;模型设计不当会让后续 API 接入受限。
- 暂不解决
- 暂不做完整 API Gateway 的插件体系、灰度发布和流量编排,先把多个 API 的基础管理统一起来。
API 管理系统设计
数据库设计
统一 API 管理模型
API 注册机制
设计流程
API 注册机制
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:准备接口配置、数据源状态、调度参数和重试规则
- 步骤 3:记录重试结果、失败原因和下一次执行计划
- 步骤 4:执行接口调用、任务调度、预热或失败重试
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
统一处理流程
设计流程
统一处理流程
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:失败重试、熔断或降级
- 步骤 3:计算用量、账单或套餐状态
- 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
新增 API 接入流程
新闻 API
设计流程
新闻 API
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:刷新接口缓存、预热结果或数据源健康状态
- 步骤 3:写入队列并异步消费
- 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
股票 API
设计流程
股票 API
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:刷新接口缓存、预热结果或数据源健康状态
- 步骤 3:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
IP 查询 API
设计流程
IP 查询 API
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:刷新接口缓存、预热结果或数据源健康状态
- 步骤 3:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
API 文档
自动生成文档
设计流程
自动生成文档
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:刷新接口缓存、预热结果或数据源健康状态
- 步骤 3:读取 API 配置、上游数据源和调度上下文
- 步骤 4:根据数据源健康、任务状态和重试次数选择下一步
关注点:数据源可用性、调度时机、重试上限和结果可追踪。
API 列表
设计流程
API 列表
- 步骤 1:执行接口调用、任务调度、预热或失败重试
- 步骤 2:刷新接口缓存、预热结果或数据源健康状态
- 步骤 3:计算用量、账单或套餐状态
- 步骤 4:校验身份、密钥或权限
关注点:数据源可用性、调度时机、重试上限和结果可追踪。