1. 课程导论:为什么需要网关升级容量规划、Prometheus 数据在容量规划中的核心价值、课程目标与受众
1.1 为什么需要网关升级容量规划
API 网关作为微服务架构的流量入口,承担着路由、限流、认证、日志采集等关键职责。当业务规模增长或技术架构演进时,网关升级不可避免。然而,缺乏容量规划的升级往往导致以下后果:
- 性能退化:新版本配置不当或资源预留不足,导致 P99 延迟飙升,影响上游业务。
- 资源浪费:盲目扩容造成 CPU/内存过度分配,云成本失控。
- 回滚风险:上线后才发现容量瓶颈,被迫紧急回滚,影响发布节奏。
- 缺乏基线:升级前后无法量化对比,无法判断新版本是“变好”还是“变差”。
核心观点:网关升级不是简单的版本替换,而是一次容量与性能的再平衡。没有基线数据的升级,等同于盲人摸象。
1.2 Prometheus 数据在容量规划中的核心价值
Prometheus 作为云原生可观测性的事实标准,其采集的时序数据天然适合作为容量规划的量化基线。相比传统压测或人工估算,Prometheus 数据具备以下不可替代的优势:
| 维度 | 传统方式 | Prometheus 基线方式 |
|---|---|---|
| 数据来源 | 压测环境(非真实流量) | 生产环境真实流量(全量采样) |
| 时间跨度 | 单次或短时段 | 历史窗口(天/周/月) |
| 指标维度 | 有限(通常仅 QPS/延迟) | 多维(CPU/内存/网络/GC/连接数/错误率) |
| 对比能力 | 无基线,凭经验判断 | 同比/环比/百分位对比,量化差异 |
| 可重复性 | 低,每次压测条件不同 | 高,PromQL 查询可固化复用 |
具体而言,Prometheus 数据在网关升级容量规划中扮演以下角色:
- 资源画像:通过
container_cpu_usage_seconds_total、container_memory_working_set_bytes等指标,建立升级前的资源消耗基线。 - 性能基线:利用
http_request_duration_seconds{quantile="0.99"}等 Histogram 指标,量化延迟分布。 - 容量阈值:基于历史数据计算 CPU 利用率 80% 分位、内存增长趋势,设定合理的 Request/Limit。
- 异常检测:通过
rate(http_requests_total{status=~"5.."}[5m])等指标,识别升级后的错误率漂移。
1.3 课程目标与受众
课程目标
完成本课程后,学员将能够:
- 建立基线思维:理解为什么容量规划必须基于 Prometheus 历史数据,而非压测或估算。
- 掌握 PromQL 基线查询:熟练编写用于资源画像、性能基线、容量阈值的 PromQL 语句。
- 实施基线对比:使用 Prometheus 数据对网关升级前后的 CPU、内存、延迟、错误率等关键指标进行量化对比。
- 输出容量规划报告:基于对比结果,生成可落地的 Request/Limit 调整建议、扩缩容策略和回滚阈值。
- 构建自动化流水线:将基线对比集成到 CI/CD 或发布平台,实现升级前自动容量评估。
目标受众
| 角色 | 痛点 | 课程收益 |
|---|---|---|
| SRE / 运维工程师 | 网关升级频繁,缺乏量化依据,回滚率高 | 掌握基于 Prometheus 的容量基线方法,降低升级风险 |
| 平台架构师 | 需要制定网关容量标准,但缺少数据支撑 | 学会构建可复用的基线模型,推动容量标准化 |
| 可观测性工程师 | Prometheus 数据采集了但未充分利用 | 将监控数据转化为容量决策依据,提升数据价值 |
| 后端开发(网关相关) | 自测环境无法模拟生产流量,上线心里没底 | 利用生产基线验证版本性能,减少线上事故 |
前置要求:学员需具备基础的 Prometheus 使用经验(如了解指标类型、PromQL 基本语法),以及 Kubernetes 容器编排的基本概念。本课程不涉及 Prometheus 安装部署,聚焦于数据应用与容量分析。
1.4 课程章节概览
本课程共 30 章,按以下模块组织:
- 基础篇(第 1-5 章):基线概念、Prometheus 指标选型、PromQL 基线查询入门。
- 方法篇(第 6-15 章):资源画像、性能基线、容量阈值、异常检测的具体 PromQL 实现。
- 实战篇(第 16-25 章):基于真实网关升级案例,从数据采集到基线对比报告的全流程演练。
- 进阶篇(第 26-30 章):自动化流水线集成、多集群基线对比、容量规划最佳实践。
重要提示:本课程所有 PromQL 示例均基于 Prometheus 2.x 及以上版本,并假设网关已暴露标准的
/metrics 端点。如果您的网关未接入 Prometheus,请先完成基础监控接入。