3. API 网关基础概念

在平台工程与容量压测作业平台的架构中,API 网关是所有微服务流量的统一入口与策略执行点。理解网关的核心概念、功能与产品选型,是后续进行权限集成与压测流量治理的前提。

3.1 什么是 API 网关

API 网关是一个位于客户端与后端服务集群之间的中间层,负责处理所有 API 请求的接入、路由、过滤与响应。它封装了内部系统的复杂架构,为客户端提供统一的访问端点,同时集中执行横切关注点(如认证、限流、监控)。

平台工程视角: 在压测作业平台中,API 网关不仅是流量入口,更是压测流量与生产流量的隔离边界,以及权限策略的强制执行点。

3.2 网关的核心功能

现代 API 网关通常包含以下四大核心功能,这些功能在压测平台中各有关键作用:

核心功能 说明 压测平台中的价值
路由 根据请求路径、方法、Header 等条件,将请求转发到对应的后端服务 将压测请求路由到压测环境或影子库,避免影响生产服务
限流 控制单位时间内的请求数量,防止后端被突发流量击垮 压测时保护下游服务不被压测流量过度冲击,支持按租户/接口粒度限流
鉴权 验证请求的合法性,包括身份认证与权限校验 确保只有授权的压测任务才能调用目标接口,防止越权操作
监控 收集请求的延迟、错误率、吞吐量等指标,并上报到监控系统 实时观察压测流量状态,为容量评估提供数据支撑
关键设计原则: 在压测作业平台中,网关的鉴权与限流功能必须优先于路由执行,确保非法或超限请求在进入内部网络前即被拒绝。

3.3 常见网关产品对比

当前业界主流的 API 网关产品包括 Kong、APISIX 和 Zuul。下表从平台工程关注的维度进行对比:

对比维度 Kong APISIX Zuul (Netflix)
开发语言 Lua (基于 OpenResty) Lua (基于 OpenResty) Java (基于 Servlet)
性能 高(Nginx 内核) 高(Nginx 内核,优化更好) 中等(同步阻塞模型)
插件生态 丰富(官方 + 社区) 丰富(动态加载,热更新) 有限(需自定义开发)
动态配置 支持(通过 Admin API) 支持(热更新,无需重启) 需配合配置中心
鉴权插件 Key-Auth、JWT、OAuth2、ACL Key-Auth、JWT、OAuth2、Casbin、ACL 需自行实现 Filter
限流能力 计数器、滑动窗口、Redis 限流 计数器、滑动窗口、并发限流、Redis 限流 需自行实现
适用场景 通用微服务网关、API 管理 高性能场景、动态路由、压测平台 Spring Cloud 生态、Java 技术栈
选型建议: 对于容量压测作业平台,推荐优先评估 APISIX。其动态热更新能力允许在压测过程中实时调整限流阈值与路由规则,无需重启网关;同时其内置的 Casbin 插件可无缝对接后续的权限集成设计。

3.4 网关在压测平台中的架构位置

下图展示了 API 网关在容量压测作业平台中的核心位置与流量流转关系:

API 网关在压测平台中的架构位置 压测客户端 运营管理平台 API 网关 路由 | 限流 | 鉴权 | 监控 (Kong / APISIX / Zuul) 压测环境服务 生产环境服务 权限服务 (IAM) 流量路径说明: 1. 压测客户端 → 网关:携带压测任务 与租户标识 2. 网关鉴权:调用 IAM 服务校验 与权限 3. 网关路由:根据压测标识将流量转发至压测环境或影子库

3.5 网关核心流程:请求处理生命周期

一个 API 请求在网关内部的处理顺序,决定了压测平台的流量治理效果。下图展示了标准网关的请求处理生命周期:

API 网关请求处理生命周期 ① 请求接入 ② 鉴权认证 ③ 限流检查 ④ 路由转发 ⑤ 响应 各阶段在压测平台中的关键动作: ① 请求接入:解析压测任务 ID、租户 ID、请求来源 IP ② 鉴权认证:校验压测 有效性,检查接口权限(RBAC/ABAC) ③ 限流检查:按租户/接口/压测任务维度执行限流策略,防止压测流量失控 ④ 路由转发:根据压测标识将请求转发至压测环境或影子库,并记录调用链
平台工程最佳实践: 在压测作业平台中,建议在网关的鉴权阶段增加“压测任务状态校验”——只有处于“运行中”状态的压测任务所发出的请求才允许通过,避免误操作或残留任务造成流量泄露。