OpenClaw 在单文件、单网关、单探针上跑得越久,故障域越「一锅炖」:Webhook 风暴、Doctor 巡检与令牌刷新抢同一 CPU 预算。把配置按租户拆成片段,再把巡检结论与失败摘要压到一面镜子里,是多节点 Mac 上最省演练成本的止血路径。🔐

本文给一套可在 clustervps 多台物理 Mac 上排练的最小步骤:安装目录、编排顺序、排错信号。姊妹篇里按可用区拆网关与队列广播见OpenClaw 多 AZ 网关与 Webhook 实战;产物扇出与 rsync 参数矩阵见跨区并联决策矩阵;全站索引见技术博客首页

导语:当你要把「租户 A 的回调」「租户 B 的 Doctor」「共享控制面」放在不同机器上时,先统一目录语义与版本锁,再让负载均衡只打一个 JSON 就绪端点;Webhook 失败走摘要广播而不是原始日志刷屏,令牌轮换用重叠窗口盖住最长重试链。

痛点(多节点编排)

  1. 巨石配置:一次 diff 牵动所有租户,回滚像拆炸弹。
  2. 探针分裂:LB、Sidecar、人手各 curl 一套脚本,半绿半红的「薛定谔健康」。
  3. 令牌周末事件:全集群同时换密钥,重试风暴把网关 TLS 打满。

拓扑与配置形态决策矩阵

形态 何时选 主要风险
单网关 + 单文件 PoC、流量极低、单人维护。 任意磁盘抖动或 TLS 升级会连带所有租户。
租户片段 + 共享控制面 多数生产:按客户 drop-in,控制面聚合策略。 需严格目录约定与变更流水线,否则漂移难查。
网关与通知器拆分 Webhook 体量大或合规留痕重。 时钟与队列水位要一起进探针,否则误判健康。

步骤清单(可打印)

  1. 冻结租户 ID 命名空间与主机角色表(GW / Worker / Notifier)。
  2. 在三台样例 Mac 上镜像同一相对路径,先空目录校验 launchd 路径与权限。
  3. 提交版本锁文件(OpenClaw 构建哈希 + CLI),CI 拒绝无锁合并。
  4. 实现合并就绪端点:Doctor 不变量、磁盘、队列深度、Webhook 摘要四段布尔。
  5. Notifier 节点开启五分钟窗口去重,失败只广播关联 ID 与 HTTP 状态。
  6. 金丝雀网关双令牌注入,跑一轮真实出站回调再抬权重。
  7. 全局切换后观察两轮健康轮询再吊销旧密钥。
  8. 把以上步骤写入 帮助中心 同结构的内部 runbook,换班可读。

可引用信息

  • 建议片段根:/etc/openclaw/tenants/<id>/{gateway,doctor,webhook}.d/(示例路径,按发行版调整)。
  • 合并探针超时预算:对外聚合接口总耗时 ≤ LB 健康检查间隔的 60%。
  • 令牌重叠期 ≥ 下游最长重试链(含供应商退避)+ 2× 轮询周期。

目录约定

每台 clustervps Mac 使用相同相对布局,才能把「复制 launchd plist + 环境文件」写成幂等脚本。租户级片段只放差分:上游 URL、队列名、回调 HMAC、Doctor 阈值;共享基线留在 common.d。安装阶段用只读校验:sha256sum 清单比对,编排阶段再 launchctl bootstrap。排错时若路径漂移,优先 diff 两台机器的 符号链接与 Include 顺序,而不是先重启服务。

版本锁

把 OpenClaw 二进制与随附工具链版本写进仓库里的 openclaw.lock(或等价文件),并在部署脚本里拒绝静默升级。多租户合并演练时,用同一把锁在金丝雀与生产各跑一遍 Doctor;若哈希不一致,控制面应拒绝聚合「就绪」为 true。升级流程固定为:拉新制品 → 并行安装到 staging 目录 → 金丝雀节点切换软链 → 全量抬版本号 → 记录变更单。

健康探针合并

负载均衡与同伴节点只应请求一个 HTTPS 或本地 HTTP 就绪端点,其 JSON 内并列返回:Doctor 不变量、磁盘/APFS 压力、队列深度、出站 TLS 探测结果,以及来自 Notifier 的 Webhook 失败摘要行(已按租户与状态码折叠)。这样 on-call 打开一面板即可判断「是网关坏了还是回调伙伴限流」,避免五个 curl 脚本互相打架。若摘要通道本身失败,磁盘上保留单调递增计数器作为兜底信号,防止静默丢告警。

令牌轮换

在密钥管理系统生成影子令牌,先注入金丝雀网关,验证出站 Webhook 全绿一个工作日;随后用配置修订号把影子令牌推广到所有网关,Worker 通过原子 rename 读取密钥文件,避免半写状态。旧令牌仅在连续两轮合并探针全绿后吊销,并记录操作者与工单号。公网回调路径建议月度轮换;纯内网网格可季度执行。

FAQ

片段冲突谁优先?*.d 字典序与显式 zz-override 前缀约定为准,并在 Doctor 里加一条「解析结果指纹」防漂移。

合并探针会暴露敏感 body 吗? 不应;摘要层只传状态码、重试次数、截断错误与关联 ID,完整载荷留在受控队列供授权节点拉取。

需要多少台 Mac 才能排练? 最少三台:两台区域网关 + 一台 Notifier;若预算紧,可用一台 Worker 兼 Notifier,但要在矩阵里标明单点。

运维指引。 具体 plist、路径与发行版包名以你方镜像为准;本文示例目录用于对齐团队语义。
多节点 Mac 算力

免登录继续浏览

先看定价与帮助把节点与带宽选对,再把 OpenClaw 清单写进 runbook;下单后再开控制台。

查看套餐与价格 帮助中心 返回首页