三类痛点
- 冷启动尾延迟:首批真实任务才触发解释器与依赖加载,多节点上表现不一,易误判「某机慢」。
- 健康口径分裂:仅打 TCP 端口不知道技能包是否就绪,分散探针让负载均衡与 on-call 难对齐。
- 配置与技能分叉:手改单节点 env 或漏同步模板,和
skills.lock不一致时,排错像猜谜。
决策矩阵(预热 · 探针 · 观测)
生产探针应反映可服务而非仅端口通;预热与 lock 同学发布流水线。基线见多节点部署与配置同步。
| 维度 | 推荐(多节点池) | 谨慎场景 |
|---|---|---|
| 冷启动 | 低峰预热热点 skill + lock 校验 | 全懒加载:首单 SLA 与锁难联动 |
| 健康探针 | 合并:gateway + skills 哈希 + 队列/redis 同一 JSON | 多 URL:LB 与告警膨胀 |
| 观测 | 发布前后 openclaw gateway status 对齐版本与监听 |
只靠日志:难批量 diff |
落地步骤(含 status、模板同步、重试)
- gateway status:各节点跑
openclaw gateway status,对齐监听、版本与配置摘要;偏离即停滚。 - 模板同步:Git/制品渲染到同路径,
config_revision全节点一致后 reload。 - 版本锁:按
skills.lock分发;Worker 前verify-skills,失败拒单告警。 - 预热:改锁或网关后低峰对 TOP skill 做 dry-run/加载,记耗时。
- 合并探针:
/healthz返回存活、skill_bundle_rev、队列探测;LB 只打此端点。 - 失败重试:超时与 5xx 指数退避加抖动;4xx 不重试,带
correlation_id;细则见队列重试。
编排要点:同一变更单驱动 N 机,status、revision、哈希与探针字段全站同名,便于 diff。
可引用阈值
- 合并探针总超时二至五秒;子检查一秒内。
- 首单 P95 超基线两倍:扩容或减 skill 组合。
- 退避基数二秒、上限一百二十秒、抖动约百分之二十。
FAQ:doctor 常见项
问:status 显示未监听或绑定到错误地址?
查 LaunchAgent/plist 与二进制路径;监听 127.0.0.1 或内网 IP 是否符合设计;看防火墙与代理。
问:doctor 报 Python 或依赖版本不一致?
统一 venv/brew 前缀;CI 与运行机同为 arm64;勿各机手装不同 minor。
问:合并探针全绿但任务仍失败?
探针只证连通与哈希;业务错看 Worker 与死信。先 canary 再滚全量。