1. 课程导论:Gateway API 资源配额模型概述
1.1 为什么需要资源配额模型?
在云原生微服务架构中,API 网关作为南北向流量的统一入口,承载着路由、认证、限流、灰度发布等核心能力。然而,当多个团队、多个业务线共享同一套网关基础设施时,资源争抢与服务质量保障成为首要挑战。Gateway API 资源配额模型正是为了解决这一矛盾而设计——它提供了一套标准化的声明式 API,用于定义、分配和审计网关层面的计算与网络资源。
核心痛点: 无配额模型时,单个业务突发流量可能耗尽网关连接池,导致全站雪崩;有配额模型后,每个租户或路由组获得独立资源预算,实现“故障隔离”与“公平调度”。
1.2 课程目标与受众
| 维度 | 说明 |
|---|---|
| 课程目标 |
|
| 目标受众 |
|
1.3 学习路径与前置知识
本课程共 30 章,按“概念 → 选型 → 实现 → 运维”四阶段递进。建议按以下路径学习:
- 基础篇(第 1-6 章): 配额模型概念、Gateway API 资源模型、Kubernetes CRD 基础。
- 选型篇(第 7-14 章): 集中式 vs 分布式配额引擎对比、一致性哈希与令牌桶算法、多集群配额同步。
- 实现篇(第 15-24 章): 基于 Envoy + Rate Limit Service 的配额实现、Gateway API 自定义策略注入、配额热更新与回滚。
- 运维篇(第 25-30 章): 配额监控与告警(Prometheus + Grafana)、容量规划模型、故障演练与复盘。
前置知识要求:
- 熟悉 Kubernetes 基本概念(Pod、Service、Ingress)
- 了解 HTTP 协议与 RESTful API 设计
- 具备基础的 YAML 编写与 kubectl 操作能力
- (可选)了解 Envoy 或 Nginx 的基本配置
1.4 Gateway API 资源配额模型全景图
下图展示了配额模型在 Gateway API 体系中的位置及其与周边组件的关系:
1.5 配额模型核心概念速览
在正式进入架构选型之前,先建立对配额模型关键术语的统一认知:
| 术语 | 定义 | 示例值 |
|---|---|---|
| Quota(配额) | 在指定时间窗口内允许的最大请求总量 | 10000 req / 1 min |
| Limit(限制) | 瞬时并发或速率的上限,超过则拒绝或排队 | 500 req / sec |
| Burst(突发) | 允许短时超出 Limit 的弹性容量,通常与令牌桶配合 | 200 req(突发桶大小) |
| Priority(优先级) | 在资源争抢时决定请求的调度顺序或丢弃策略 | HIGH / MEDIUM / LOW |
| Scope(作用域) | 配额生效的范围:全局、租户、路由、用户 | tenant: payment |
常见误区: Quota 与 Limit 并非同一概念。Quota 是“总量预算”,通常按分钟/小时/天重置;Limit 是“瞬时速率”,用于防止流量尖峰打垮后端。两者必须配合使用才能实现既“控总量”又“削峰值”的效果。
1.6 课程配套资源与实战环境
本课程提供以下配套资源,帮助你在真实环境中验证所学内容:
- GitHub 仓库: 包含所有 YAML 示例、Helm Chart 和 Terraform 模板
- Docker Compose 实验环境: 本地一键启动 Envoy + Rate Limit Service + Prometheus
- Kubernetes 集群要求: 推荐使用 kind 或 minikube(v1.25+),无需公有云
- 压测工具: 使用 hey 或 wrk 进行配额边界测试