跳到主要内容

生产就绪

在应用流量通过每个 AISIX 网关之前,请先为生产环境做好准备。无论网关加载独立资源还是从 AISIX Cloud 接收配置,都适用相同的运行时检查;配置方式和运维责任存在差异时,本页会明确说明。

本页提供生产基线。本节其余页面会详细说明容量、启动配置、网络安全、传输安全、配置更新和健康检查。

规划容量与可用性

请根据具有代表性的请求和响应大小、流式传输行为及已启用策略,估算每个网关实例的容量。为突发流量预留余量,不要按实测饱和点配置容量。参考基准测试和估算公式请参阅性能与容量估算

如果流量路径必须在进程或主机故障时继续可用,请运行多个实例。将其置于负载均衡器之后,分散到服务所需的故障域,并确保每个实例收到相同的动态资源。

基于内存的限流计数器和缓存条目只属于单个网关进程。如果限流或缓存响应必须在多个实例间保持一致,请使用共享 Redis 部署。对于连接 AISIX Cloud 的网关,请参阅高可用,了解更完整的流量和管理拓扑。

准备配置和依赖

部署副本前,请确认网关如何接收动态资源:

  • 开源 AISIX 网关可以加载声明式 resources.yaml 文件,并在收到 SIGHUP 时重新加载。
  • 通过 etcd 配置的开源 AISIX 网关会监听一个 etcd 键空间。
  • 连接 AISIX Cloud 的网关接收控制面投射的环境资源。

监听器、资源来源、Redis 连接和可观测性等进程设置请保留在启动配置中。不要在同一个网关上配置多个动态资源来源。

保护每个携带 Secret 的配置来源。资源文件应通过环境变量引用凭证,不要包含明文值。独立 etcd 部署需要持久化、备份、访问控制和私有网络路径。连接 AISIX Cloud 的网关需要保护证书包和运行时状态目录,并确保重启后仍然可用。

当缓存策略或限流选择 Redis 时,请将 Redis 视为运行时依赖。使用符合可用性要求的拓扑,并确认每个网关实例都指向预期的 Redis 部署。

保护运行时暴露面

只向预期调用方或网关前方的入口层暴露代理监听器。

将以下暴露面保留在私有网络中:

  • 指标/状态监听器及其无需身份认证的 /metrics/status/* 路由;
  • 独立 etcd 端点;
  • 包含模型服务提供方凭证或 AISIX Cloud 证书的文件和目录。

当 AISIX 终止 HTTPS 时,请配置监听器 TLS。为相应的管理连接配置 etcd mTLS 或 AISIX Cloud mTLS。暴露网关前,请查看网络与安全TLS 与 mTLS

路由流量前验证

存活检查只能证明进程正在运行,不能证明经过授权的请求可以到达模型服务提供方。请从最窄的信号开始,逐步验证到完整请求路径。

设置代理和指标/状态 URL:

PROXY_URL="https://gateway.example.com"
METRICS_URL="http://gateway.internal.example.com:9090"

检查进程存活和流量就绪状态:

curl -i "${PROXY_URL}/livez"
curl -i "${PROXY_URL}/readyz"

检查配置和模型状态:

curl -sS "${METRICS_URL}/status/config"
curl -sS "${METRICS_URL}/status/models"

然后验证健康端点无法证明的行为:

  • 使用应用将要使用的调用方 API Key 调用 GET /v1/models
  • 通过计划暴露的每个端点类型发送由模型服务提供方处理的请求。
  • 在日志、指标、用量上报或已配置的导出器中找到该请求。
  • 使用无效的调用方 API Key 发送请求,并确认 AISIX 将其拒绝。

请使用健康检查选择并解读运维探针。如果配置变更尚未到达代理路径,请参阅配置传播

规划关闭与恢复

AISIX 将 SIGINTSIGTERM 作为优雅关闭信号。关闭期间,它会停止接受新任务、协调监听器与后台任务关闭,并报告存活检查失败,使流量层可以移除该实例。

请为负载均衡器或编排平台留出足够时间,在进程退出前停止分配连接。终止宽限期应长于你希望保留的最长请求或流式传输时间。

记录每种部署恢复配置的方式:

  • 保留并验证独立资源文件;
  • 备份和恢复独立 etcd;
  • 按部署设计保留 AISIX Cloud 证书包、网关身份和最近一次接受的配置。

在故障恢复真正依赖这些机制前,请测试重启和替换行为。

生产检查清单

扩大流量前,请确认:

  • 容量包含余量,并运行预期数量的网关实例。
  • 每个实例都使用预期的启动配置和动态资源来源。
  • 需要跨实例限流或共享缓存条目时,已配置共享 Redis。
  • 代理、指标/状态和配置存储暴露面具有预期的网络访问范围。
  • TLS、mTLS、证书路径和运行时状态权限有效。
  • 网关至少可以使用一个模型服务提供方密钥、模型别名和调用方 API Key。
  • 模型别名出现在面向调用方的代理路径中。
  • 使用真实模型服务提供方的请求成功。
  • 日志、指标、用量上报或导出器包含验证请求。
  • 关闭、替换和配置恢复已经过测试。

下一步

继续阅读性能与容量估算规划网关容量,然后使用启动配置配置运行时。