第一篇 需求与选型:为什么自己搭网关
我们是一家做 SaaS 的后端团队,对外接口从最早的三五个涨到四十多个,业务方也从小客户变成了几家月调用量上千万的大户。问题随之而来:鉴权、限流、监控全靠口头约定,每个业务方对接方式都不一样,有人把 token 明文塞在 URL 里,有人干脆裸奔。直到某个周五晚上,一个客户的定时任务脚本写了死循环,把我们的库存接口打爆,整个机房都能听见告警在响,我们才下定决心,用 PHP 自研一套统一的 API 网关。
这本手记记录的就是这件事的全过程。全书围绕一个真实项目展开:路由按版本与灰度分组,鉴权走 API Key 与签名校验,限流用 Redis 令牌桶,调用日志全量进日志服务 CLS,监控盯 QPS 与错误率。用到的腾讯云产品包括云服务器 CVM、云数据库 Redis、日志服务 CLS、云监控与 CDN,每一篇都给可照做的操作清单与对照表。
本篇先解决方向问题。第 1.1 节拆解需求,把鉴权、限流、监控这三件口头约定的事变成写下来的契约;第 1.2 节算一笔账,自研与云 API 网关到底差在哪;第 1.3 节聊机器准备,轻量应用服务器与 CVM 各自适合什么阶段;第 1.4 节把 PHP 库与云产品的地图铺开,让后面对着图看代码不迷糊。
如果你也在为对外接口管理发愁,这套手记可以直接照着抄。开工前可以先领一份 腾讯云产品特惠,云服务器、云数据库、CDN 等产品都有折扣,上手成本最低。
