当你已经把 OpenClaw Gateway 跑稳,却要在微服务架构里承接多模型、多租户、多后端的 AI 流量时,「能连上模型」只是第一步。本文面向要把 API 网关、服务发现、熔断与多模型智能路由 写进生产台账的团队:先用七条清单拆掉「把 Gateway 当单体反向代理」的错觉,再用一张职责分工表把 OpenClaw 与 Kong/Traefik 的边界钉死,最后给出六步落地 Runbook(注册、健康检查、路由模板、熔断参数、观测与回滚),并明确与站内 modelRouting、Gateway 安全、生产观测 的分工读法。
OpenClaw 的强项在会话编排、工具链、模型路由策略;而微服务世界里还有南北向入口、东西向鉴权、配额、熔断、灰度与多实例会话亲和。下面七条用于架构评审前自检,避免团队把两类问题混在同一套日志里空转。
把「能转发 HTTP」当成「已是 API 网关」:缺统一认证、限流、WAF、审计字段与租户隔离时,你只是多了一层代理,而不是网关。
忽略服务发现与实例漂移:Kubernetes/Consul 的实例上下线若未驱动健康检查与路由表刷新,会出现间歇性 502 却被误判为模型不可用。
熔断阈值拍脑袋:错误率窗口与最小样本量不配,会在低流量服务上误触发「全熔断」,或在高并发洪峰时过晚打开保护。
多模型路由只写在 prompt 里:业务层提示词无法替代 openclaw.json 的 modelRouting 与配额策略;应与 modelRouting 篇 对照阅读。
把 Kong/Traefik 与 Gateway 叠成「双盲路由」:两层都在改路径与超时,排障时无法判断是哪一层丢包或改写 Header。
观测只做进程级:没有按 route_id / tenant / model_backend 打标签,Prometheus 上只会看到「CPU 高」,看不到「哪条路由在烧配额」。
安全策略只在 Gateway 内网放开:networkPolicy、dmPolicy、exec 审批与 Token 轮换若未与入口网关联动,会出现「外层很严、内层很松」的错觉安全;应对照 安全加固篇。
这些坑的共同根因,是把可达性与可治理性混为一谈:前者回答「请求能不能进到 Gateway」,后者回答「进到哪条路由、用哪套配额、失败如何退化、是否能被审计」。把它们写进架构决策记录(ADR)后,再用下一张表把组件边界钉死。
若你还同时维护 not ready 与 closed(1000) 两套 Runbook,请把本文当作「流量治理层」分册:当启动与会话都排除后,再回到路由、熔断与入口网关的协作参数。
与 生产观测篇 联动:路由变更必须带金丝雀与回滚说明,否则晚高峰「改一行全站模型切换」会把 SLO 直接打穿。
没有银弹:你要先回答哪一层承担租户身份、哪一层承担模型与工具策略,再决定超时、重试与幂等键放在哪里。评审时把三条 SLA 写清:P95 延迟、错误可解释性、熔断触发后的恢复时间。
| 能力域 | Kong / Traefik(入口) | OpenClaw Gateway(AI 编排) |
|---|---|---|
| 认证与租户 | JWT/mTLS、OAuth2、API Key、租户路由 | 消费上游已验证身份;执行 dmPolicy / 会话策略 |
| 限流与配额 | 全站/租户 QPS、突发桶、IP 信誉 | 模型级并发、上下文窗口预算、工具调用配额 |
| 路由对象 | 服务名、版本、灰度权重 | 模型别名、工具白名单、会话亲和 |
| 熔断与降级 | 上游 HTTP 错误率、连接超时 | 模型后端不可用、工具超时、上下文溢出 |
| 可观测性 | Access log、TraceId 注入 | 路由决策日志、模型切换原因、工具耗时 |
| 典型失败 | 证书、SNI、WAF 误杀 | 路由阈值、配额、RPC scope |
「API 网关」卖的是南北向治理;OpenClaw 卖的是会话面 + 模型面 + 工具面的合流——叠在一起时,必须写清谁先改包、谁先负责重试。
若你把重工具链放到 远程 Mac 独占节点,请把「模型调用」与「xcodebuild/CLI 执行」写进两张不同的路由表:前者看配额与延迟,后者看 SSH 与磁盘水位。
与 OpenClaw 分类列表 联动:安装、Docker、systemd、观测与安全文章应先建立共同语境,再读本文做架构拼接。
下列顺序强调「先注册与健康检查,再入口路由,再模型路由模板,再熔断参数,最后观测与回滚」:与官方「First 60 seconds」同构,但补齐双网关协作 常见盲区。
为每个 OpenClaw 实例分配稳定 service_id:在 Consul/etcd 或 K8s Service 中注册,并暴露只读健康端点;禁止仅靠 Pod IP 直连。
在入口网关声明上游池:Kong upstream 或 Traefik service 指向 N 个 Gateway Pod;开启主动/被动健康检查与最小就绪副本数。
把模型别名与路由阈值写进 openclaw.json:对齐 modelRouting 篇的阈值语义;入口层只透传 X-Route-Profile 等灰度头。
为工具调用与模型 HTTP 分别设熔断窗口:工具链长尾与模型短请求混用同一窗口会误杀;建议拆分两个 breaker。
把 TraceId 从入口注入到 Gateway 日志:保证一次用户请求能串起 Kong→OpenClaw→模型后端;与 观测篇 的日志字段对齐。
演练「单实例掉线」与「模型后端全挂」:验证入口层退避与 Gateway 内降级路径;变更前先备份配置与镜像 digest。
{
"modelRouting": {
"default": "fast",
"profiles": {
"fast": { "maxContextTokens": 32000, "preferProviders": ["anthropic"] },
"heavy": { "maxContextTokens": 200000, "preferProviders": ["anthropic"] }
},
"rules": [
{ "when": { "header": { "name": "X-Route-Profile", "equals": "heavy" } }, "use": "heavy" }
]
},
"gateway": {
"bind": "127.0.0.1:18789",
"requestTimeoutMs": 120000
}
}
提示:若你刚改 gateway.bind 或反代路径,请同时核对 安全加固篇 的回环与 Token 组合,避免「入口看似可达、内层实际拒绝」。
升级后若出现「入口全绿但部分租户路由漂移」,优先怀疑配置分片与实例缓存:按官方升级笔记重跑 openclaw doctor,而不是先重写业务 prompt。
与 closed(1000) 篇联动:若日志里已有 close 帧,应先回到会话层对齐 scope/Token,再回本文入口参数,否则会反复改错层。
生产事故里最常见的一类,是入口层会话保持与 Gateway 有状态假设打架:LB 以为是无状态 HTTP,Gateway 却在本地缓存会话片段。本节给最小复现实验:先用单实例压测验证路由模板,再打开多实例与一致性哈希。
对 Kong/Traefik,优先核对三类清单:健康检查间隔、被动熔断是否过敏感、重试是否放大雪崩;再把 OpenClaw 侧的工具白名单与 networkPolicy 对齐安全篇的最小暴露面原则。
注意:不要在高峰期直接「关闭熔断」排障:先开只读影子路由与采样 Trace,确认是哪条后端在烧配额,再调整窗口参数。
若 Gateway 跑在 VPS、工具执行在 远程 Mac 独占节点,请把「HTTP 路由」与「SSH 工具执行」分开评审:前者错误会让全站延迟飙升,后者错误只会让部分工具失败。
下列条目用于内部对齐;具体阈值以你们租户规模与合规要求为准。
纯本机或临时 VPS 跑 Gateway,常会在睡眠、端口漂移、证书与上游限流之间反复;而需要稳定跑 xcodebuild / CLI Agent / 常驻工具链 的团队,更适合把算力与桌面态放到独占、长期在线的远程 Mac 节点上,把 OpenClaw 留在 Linux 小机上专注编排与路由。相比自建零散机器或在不稳定的虚拟化环境里硬凑 macOS,NodeMini 的 Mac Mini 云端租赁在固定 SSH、清晰磁盘档位与可复制的节点画像上更利于把「工具执行」从「入口治理」里解耦;需要对比规格与价格时,可先阅读 租赁价格说明,再结合 帮助中心 规划节点。
落地时建议把本 Runbook 与内部「路由变更等级」绑定:入口证书、modelRouting、模型后端切换应使用不同的审批与金丝雀范围。
通常 Kong/Traefik 作为南北向入口承接 TLS、mTLS、WAF、租户路由;OpenClaw 作为内网 AI 编排网关消费已验证身份。除非你有极强的内网零信任,否则不要把公网直接绑到 Gateway。需要网络侧建议可查看 帮助中心。
入口网关路由到「服务实例」;modelRouting 决策「用哪套模型画像与配额」。两者应通过灰度头或租户声明解耦。详细语义见 modelRouting 篇;OpenClaw 总目录见 博客 OpenClaw 筛选。