操作指南
本节提供面向实际任务的 API7 网关操作指南。每篇指南聚焦一个具体目标,并提供完成任务的分步说明。
流量管理
控制 API7 网关如何处理传入请求并将其路由到上游服务。
- 限流:限制每个消费者或 IP 地址的请求数量,保护上游服务。
- 代理重写:将请求转发到上游服务前,重写请求 URI、请求头和方法。
- 响应重写:向客户端返回响应前,修改响应状态码、响应头和正文。
- 灰度发布:使用加权路由在不同上游版本之间拆分流量,逐步发布变更。
- 蓝绿发布:在两个上游环境之间切换流量,实现零停机发布。
- 健康检查:配置主动和被动健康检查,自动移除不健康的上游节点。
- CORS:配置跨域资源共享,允许或限制来自不同域的访问。
- 故障注入:注入 HTTP 错误和响应延迟,测试应用弹性。
- 代理缓存:在网关中缓存响应,提高 API 性能并降低上游负载。
- 流量镜像:复制一定比例的生产流量并发送到辅助服务进行测试。
- 全局插件豁免:使用路由标签和
_meta.filter机制,有条件地跳过特定路由的全局插件执行。
协议代理
代理非 HTTP 协议和专用 API 流量。
- gRPC 代理:代理 gRPC 流量,包括 REST 到 gRPC 转码,以及面向浏览器客户端的 gRPC-Web 支持。
- WebSocket 代理:为长时间保持的双向连接启用 WebSocket 代理。
- GraphQL 代理:代理 GraphQL API,并添加感知 GraphQL 的限流和缓存。
- TCP/UDP 代理:将四层 TCP 和 UDP 流量代理到上游服务。
插件开发
使用自定义插件扩展 API7 网关功能。
- 自定义 Lua 插件:编写和部署在网关进程内运行的自定义 Lua 插件。
运维
管理组织访问控制和运维工作流。
- 管理网关组:创建和管理多个网关组,按环境或团队隔离流量。
- 配置密钥管理:集成外部密钥管理器,保护敏 感配置。
- 创建自定义角色:定义权限策略、将其附加到角色,并将角色分配给用户。
- 设计自定义角色系统:为团队、环境和委派管理规划可扩展的 RBAC 模型。
- 配置就绪和存活探针:为 Kubernetes、Docker 和其他部署中的数据面配置健康探针。
相关资源
- 快速入门:首次设置 API7 网关。
- 教程:代理和管理 API 请求:通过实践教程学习基本代理和插件管理。
- 核心概念:了解 API7 网关的核心概念。