本次更新
恢复 Route Pool Provider Sticky Routing,并将路由策略展示名与持久化 ID 对齐为 hash_affinity / weight_priority;Admin Routes Flow 同步增强粘滞绑定运维与拓扑可视化。
变更内容
Proxy
- Provider Sticky Routing:Route Pool 可启用跨 isolate / 多实例共享的用户粘滞绑定(idle TTL 滑动、epoch 失效、失败解绑语义);绑定命中时优先尝试粘滞目标,再进入 priority 层排序。
- route_trace.sticky:请求日志可观测
lookup/attempted_target/result,便于对照 Prompt Cache 收益与 failover 成本。 - 策略 ID 对齐:运行时仅接受
hash_affinity、weighted_random、weight_priority、weighted_round_robin(原cache_affinity/fixed_order无别名)。
Admin
- Sticky 运维:Routes Flow 支持按 Pool 开关粘滞、配置 TTL、查看绑定分布 vs 权重、按用户解绑、整池 invalidate(epoch bump)。
- 拓扑可视化:Route Model Flow / Overview / Workspace Header 强化路由拓扑与策略来源展示,便于运维核对层内排序与 Failover。
- 策略选择器:全局、Pool、priority 层统一展示新策略 ID 与中文/多语文案。
Core
- 迁移 0020:
route_pools增加 sticky 配置列,新增route_pool_sticky_bindings表(D1 / Postgres / MySQL)。 - 迁移 0021:将持久化策略 ID
cache_affinity→hash_affinity、fixed_order→weight_priority(含全局、Pool、tier_strategies、模型route_policy)。
文档
- Sticky cutover:新增
docs/operators/migrations/route-pool-sticky-routing-cutover.md。 - 策略展示 ID cutover:新增
docs/operators/migrations/route-strategy-display-ids-cutover.md。 - 参考与 API:更新 route-strategies、Admin API、README 多语言说明中的策略 ID。
升级说明
- 数据库迁移:必须应用 0020 与 0021;三种数据库语义一致
- 发布顺序:维护窗口内先备份并暂停 Proxy 流量与 Admin 配置写入 → 执行迁移 → 立即部署同一版本的 Proxy / Admin / migrate;禁止新旧版本混跑(尤其 0021 无旧 ID 别名)
- 配置变更:外部自动化写入的路由策略 ID 须同步改为
hash_affinity/weight_priority;Sticky 默认关闭,需在 Admin 按 Pool 显式启用 - 兼容性影响:客户端推理 URL 不变;写入旧策略 ID 将
400;未迁移数据在新代码下会被视为非法并回退默认策略 - 建议操作:部署后验证 Sticky 开关/TTL/解绑、全局/Pool/层策略保存与非法旧 ID 拒绝,以及 chat / messages / gemini / images / audio 各协议冒烟
容器镜像与 SHA256 digest
Tag v2.3.0 — multi-arch manifest digests:
Proxy
- 镜像:
ghcr.io/octafuse/octafuse-gateway-proxy:v2.3.0 - Digest:
sha256:5f0857b58ebb4afbb05089df23461e3e388900fde3e161d4bd1ba948f9d1d60e - 固定拉取:
ghcr.io/octafuse/octafuse-gateway-proxy@sha256:5f0857b58ebb4afbb05089df23461e3e388900fde3e161d4bd1ba948f9d1d60e
Admin
- 镜像:
ghcr.io/octafuse/octafuse-gateway-admin:v2.3.0 - Digest:
sha256:bc3df5b84a78aca024ff478b230a16bf84c0b6e714776e54df4054a20a8d6166 - 固定拉取:
ghcr.io/octafuse/octafuse-gateway-admin@sha256:bc3df5b84a78aca024ff478b230a16bf84c0b6e714776e54df4054a20a8d6166
Migrate
- 镜像:
ghcr.io/octafuse/octafuse-gateway-migrate:v2.3.0 - Digest:
sha256:166418977c0cd67fb6363f9ac155916c3ba9d4d25df4333d14d9cfc311853e11 - 固定拉取:
ghcr.io/octafuse/octafuse-gateway-migrate@sha256:166418977c0cd67fb6363f9ac155916c3ba9d4d25df4333d14d9cfc311853e11
可按 digest 做可复现部署,或在核对 digest 后使用 tag。