跳到主要内容

介绍

Aidy 当前只文档化 V2 / PG-only runtime

这意味着:

  • 运行时配置统一来自 PostgreSQL
  • Management API 负责配置的增删改查
  • Dashboard 直接调用 Management API
  • Redis 只继续承担限速计数,不再承担动态配置中心

建议按下面顺序阅读:

  1. 快速开始
  2. PG 运行时与 Seed
  3. 静态配置
  4. Management API
  5. Upstream / Provider / Protocol
  6. Protocols
  7. V2

当前核心资源

当前运行时主表和资源大致是:

  • tenants
  • routes
  • providers
  • upstreams
  • upstream_models
  • consumers
  • consumer_api_keys

其中:

  • 上游 API key 直接嵌在 upstream 中
  • 模型选路直接由 upstream_models + groups + priority/weight 完成

一条请求的主链路

  1. routes.path_prefix 做最长前缀匹配
  2. 按 route 的认证优先级决定是否鉴权
  3. 若进入 consumer auth,则用 consumer_api_keys 找到 consumer
  4. 取 route / consumer / api key 的分组约束交集
  5. 在交集分组里查找 upstream_models
  6. 把可用 upstream 与 API key 展开成候选,先按 priority 从高到低分层,再只在同优先级内做按 weight 的加权随机无放回排序
  7. 最多保留前 route.max_attempts 个候选;默认 2,再按顺序转发并做 fallback

当前认证优先级

PG runtime 中,route 级认证优先级固定为:

  1. disable_auth = true
  2. passthrough_auth_token = true
  3. legacy_bearer_auth_tokens 非空
  4. 默认走 consumer_api_keys Bearer API Key 认证

详细说明见 网关认证 & 上游认证