1. 课程导论:Gateway API 资源配额模型概述

1.1 为什么需要资源配额模型?

在云原生微服务架构中,API 网关作为南北向流量的统一入口,承载着路由、认证、限流、灰度发布等核心能力。然而,当多个团队、多个业务线共享同一套网关基础设施时,资源争抢与服务质量保障成为首要挑战。Gateway API 资源配额模型正是为了解决这一矛盾而设计——它提供了一套标准化的声明式 API,用于定义、分配和审计网关层面的计算与网络资源。

核心痛点: 无配额模型时,单个业务突发流量可能耗尽网关连接池,导致全站雪崩;有配额模型后,每个租户或路由组获得独立资源预算,实现“故障隔离”与“公平调度”。

1.2 课程目标与受众

维度 说明
课程目标
  • 掌握 Gateway API 资源配额模型的核心概念(Quota、Limit、Burst、Priority)
  • 能够独立完成配额模型的架构选型(集中式 vs 分布式 vs 混合式)
  • 熟练使用 Gateway API 进行配额声明、动态调整与审计监控
  • 具备生产环境配额故障排查与容量规划能力
目标受众
  • 云原生架构师 / 平台工程师(设计多租户网关体系)
  • API 网关运维与 SRE(保障网关 SLA)
  • 后端开发工程师(对接网关配额接口)
  • 技术决策者(评估 Gateway API 落地可行性)

1.3 学习路径与前置知识

本课程共 30 章,按“概念 → 选型 → 实现 → 运维”四阶段递进。建议按以下路径学习:

  1. 基础篇(第 1-6 章): 配额模型概念、Gateway API 资源模型、Kubernetes CRD 基础。
  2. 选型篇(第 7-14 章): 集中式 vs 分布式配额引擎对比、一致性哈希与令牌桶算法、多集群配额同步。
  3. 实现篇(第 15-24 章): 基于 Envoy + Rate Limit Service 的配额实现、Gateway API 自定义策略注入、配额热更新与回滚。
  4. 运维篇(第 25-30 章): 配额监控与告警(Prometheus + Grafana)、容量规划模型、故障演练与复盘。
前置知识要求:
  • 熟悉 Kubernetes 基本概念(Pod、Service、Ingress)
  • 了解 HTTP 协议与 RESTful API 设计
  • 具备基础的 YAML 编写与 kubectl 操作能力
  • (可选)了解 Envoy 或 Nginx 的基本配置

1.4 Gateway API 资源配额模型全景图

下图展示了配额模型在 Gateway API 体系中的位置及其与周边组件的关系:

Gateway API 资源配额模型全景图 Gateway API 资源配额模型全景图 用户 / 租户 Gateway API 资源配额模型 Quota · Limit · Burst · Priority GatewayClass · Gateway · HTTPRoute RateLimitPolicy · QuotaAudit 配额引擎实现层 集中式 (Redis) · 分布式 (Sidecar) · 混合式 (Global + Local) 令牌桶 · 漏桶 · 滑动窗口 · 优先级队列 数据面 & 可观测性 Envoy · Nginx · Kong · APISIX Prometheus Metrics · 配额审计日志 · 告警规则 声明式 API Kubernetes CRD 多租户隔离 公平调度

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 进行配额边界测试