资源投射
AISIX Cloud 会将已保存的资源变更发布到连接该环境的网关。每个网关都会验证新修订版本,并将接受的配置应用于新请求。发布是异步的,因此各网关实例可能会暂时报告不同的修订版本。
控制台或 API 返回成功,只能确认控制面接受了变更。要验证变更已生效,请依次追踪控制面修订版本、网关快照和实时请求。
资源作用域
资源所有权和策略作用域决定哪些网关会接收资源,以及哪些请求会使用该资源。
| 资源 | 投射规则 |
|---|---|
| 模型和调用方 API Key | 投射到连接其所属环境的网关。 |
| 模型服务提供方密钥 | 仅投射到允许使用该密钥的环境。模型还必须引用该模型服务提供方密钥。 |
| 安全护栏 | 随所属环境投射,并挂载到环境、模型、调用方 API Key 或团队。 |
| 缓存策略 | 随所属环境投射,并应用于全部流量、某个模型别名或某个调用方 API Key。 |
| 限流策略 | 随所属环境投射,并以调用方 API Key、模型、团队、成员或团队成员为目标。 |
验证投射的变更
按顺序检查控制面、网关和实时请求。
1. 比较已发布和已应用的修订版本
设置控制面 API URL、具有 read 权限范围的 Admin Token 和环境 ID:
export AISIX_CP="https://<your-cp-api-host>/api"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
比较 store_revision 与各节点的 applied_revision:
curl -sS "${AISIX_CP}/environments/${ENV_ID}/dp_nodes" \
-H "Authorization: Bearer ${AISIX_TOKEN}" \
| jq '{
store_revision,
nodes: [
.data[] |
{
hostname,
last_heartbeat_at,
applied_revision,
config_hash
}
]
}'
当节点的 applied_revision 大于或等于 store_revision 时,该节点即为最新状态。config_hash 相同表示各网关实例接受了相同的配置。
当修订跟踪不可用,或网关尚未上报相关字段时,控制面可能会省略 store_revision、applied_revision 或 config_hash。此时,请使用下一步中的网关状态端点。心跳按周期上报,因此网关的直接状态也可能比控制面视图更新。
如果网关没有最新心跳,请先排查其管理连接,再检查资源投射。请参阅连接 AISIX 网关。
2. 检查网关快照
查询正在处理流量的网关实例上的指标和状态监听器:
curl -sS "http://127.0.0.1:9090/status/config" \
| jq '{
state,
source,
applied,
rejected,
last_failure
}'
当 state 为 synced、source.connected 为 true、applied.applied_revision 反映预期修订版本且 rejected 为空时,变更即已完全应用。
如果 source.connected 为 false,请恢复配置连接。中断期间,网关可以继续使用最近一次接受的快照提供服务,但无法接收新变更。请参阅离线韧性。
如果 state 为 degraded 或 out_of_sync,请使用 rejected 和 last_failure 识别无效资源。有关 状态定义、完整响应和 Prometheus 指标,请参阅配置状态。
状态监听器不需要身份认证。请确保端口 9090 仅对监控网络开放。
3. 验证调用方可见行为
网关应用变更后,请通过应用实际使用的同一个网关端点和调用方身份进行验证。
对于模型或调用方访问权限变更,先查询模型发现端点:
export AISIX_PROXY="http://127.0.0.1:3000"
export AISIX_API_KEY="YOUR_CALLER_API_KEY"
curl -sS "${AISIX_PROXY}/v1/models" \
-H "Authorization: Bearer ${AISIX_API_KEY}" \
| jq -r '.data[].id'
确认预期的模型别名已出现,然后按照相应模型服务提供方或功能指南发送请求。
如果修订版本匹配后结果仍不符合预期,请先确认请求到达了所检查的网关,再检查环境、模型别名、调用方 API Key、模型服务提供方密钥的环境访问权限和策略作用域。
下一步
如果尚未发送实时流量,请选择模型服务提供方上游,并按照相应的设置指南操作。在将多个网关实例置于生产负载均衡器之前,请阅读高可用。