高性能 API 服务设计方法论
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/api-service-design-guide。
技能介绍
接口设计为什么总在联调阶段爆雷
接口一旦上线,调用方会假设你只加不减、错误码稳定、鉴权逻辑一致。但现实里常见的是:URL 里混着动作名和名词、筛选参数各接口自己造、错误响应里同时出现 200 包 error 和 422 混用。这类问题在联调期表现为「文档看不懂、报错对不上、改字段要发通知」,维护期则变成性能优化找不到瓶颈、版本升级不敢动。
把契约、校验和演进做成可执行规范
这个技能的核心是把「好用、好改、好扩」拆成可落地的规则。先按 HTTP 方法拆动作:GET /orders/{id} 读资源、POST /orders/{id}/cancel 走子资源动作,避免硬凑 PUT 语义。校验分三层落地:格式校验交给 schema 声明式完成,业务校验留在服务层,权限校验放中间件且永远不信前端传来的角色字段。错误响应统一用 HTTP 大类表达问题方向,业务细分靠 code,绝不 200 里包 error,避免监控和网关被误导。
性能优化按顺序推进:先加慢接口日志拿 P95/P99,再治 N+1 查询,强制分页并把深分页换成游标,读多写少的数据加缓存且从 TTL 起步,发邮件/生成报表丢队列,最后用真实流量模型压测。版本管理坚持加字段随意、删改走版本,废弃流程从文档标注到响应头警告再到下线,给调用方至少一个迭代周期。
适用边界与注意点
这套方法论是通用设计规范,具体框架特性仍需对照官方文档。涉及支付或个人信息的接口,要额外遵守行业监管与《个人信息保护法》等法规要求,不能只依赖本技能的通用规则。
使用场景
- 新项目启动阶段,需要把资源路由、命名风格和分页规则定成团队 API 设计规范
- 线上接口报错格式混乱,要统一 HTTP 状态码和业务 code,并清理 200 包 error
- 列表接口逐条查关联数据导致慢查询,需要按 P95/P99 数据定位并消除 N+1
- 服务间调用或开放平台接入,需要选择 API Key、JWT、OAuth2 或 Session 鉴权方案
适合人员
- 后端工程师:要在新项目或既有服务里落地接口契约、统一错误码和鉴权规则
- 架构师:需要制定跨团队的 API 演进与兼容策略,避免破坏老调用方
- 前端/客户端工程师:联调时遇到字段不一致或错误码混乱,想快速定位接口契约问题
- SRE/平台工程师:负责监控 P99、限流、熔断和慢接口告警,需要明确优化顺序与验收标准