單體網關為何與多可用區現實衝突
本 HowTo 假設 clustervps 上至少三台專用 Mac:兩區網關各一,外加工作者或通知器;自動化若全黏單機,關聯故障、告警洗版與難演練的令牌敘事會同時爆發。多節點產物扇出可對照《並聯叢集決策矩陣》;延伸主題見部落格首頁。
- 重試洪峰:Webhook 供應商平行重試,TLS 在 OpenClaw 出佇列前就被打穿。
- 探針漂移:每台負載平衡器各寫一支 curl,半數叢集自認健康,代理卻打不到上游 API。
- 密鑰耦合:長效 Bearer 綁在共用鑰匙圈,輪換變成週末專案而非十五分鐘演練。
拆分與單網關:決策矩陣
| 拓樸 | 適用時機 | 注意 |
|---|---|---|
| 單一網關 Mac | 低流量原型與示範。 | 磁碟卡頓或 TLS 升級會拖垮所有可用區。 |
| 每可用區一對網關 | 生產級 OpenClaw,維運分隊清楚。 | 需明示 DNS 權重與共用 runbook。 |
| 網關+通知器拆分 | 大量出站 Webhook 或合規稽核日誌。 | 各節點時鐘偏移須維持在數秒內。 |
對照算力與儲存方案頁,讓每個可用區的記憶體與 SSD 餘裕可預測;冗餘不是虛榮,而是能在排空單節點時,協作者仍依公開首頁流程對齊資訊。
HowTo:依可用區拆分 clustervps 網關
- 凍結範圍。盤點 OpenClaw 目前終止的每個對內主機名、mTLS 設定與靜態 IP;清單與 DNS 一致前不搬線。
- 複製設定、不複製狀態。把 launchd 與環境檔複製到第二台 Mac,但 SQLite 或本機佇列在切換前保持空白。
- 漸進 DNS 權重。新網關先接一成流量,觀察三十分鐘錯誤預算,再以二成階梯上調。
- 文件化排空開關。每位值班應知道「單一指令」如何把網關標成唯讀而不碰工作者。
- 成對混沌演練。上班時段停一台網關服務,由另一台承接 Webhook 積壓,真實事故才不出戲。
各節點 SSH 跳躍路徑保持一致,說明中心截圖才經得起稽核。需要再加裸金屬席次時,購買頁可先瀏覽,不必先登入主控台。
HowTo:合併健康探針為單一誠實訊號
負載平衡器對每台網關只應打一支複合就緒端點;處理常式內串接輕量檢查:磁碟壓力、launchd 心跳、對 Webhook 夥伴的出站 TLS、憑證到期。回傳 JSON 內含分項布林,維運不必開五個分頁就能判斷哪個子系統失效。
#!/usr/bin/env bash
set -euo pipefail
/usr/bin/curl -fsS --max-time 4 https://hooks.partner.test/ping >/dev/null
/usr/sbin/diskutil apfs list | /usr/bin/grep -q "Container"
/usr/bin/printf '{"disk":true,"webhook":true,"queue_depth":0}\n'
每台網關公布相同探針路徑,其他 Mac 節點維護時才能對等 curl。探針失敗時附上可用區標籤,下游 OpenClaw 排程器才能快速遷移工作階段。
HowTo:廣播 Webhook 失敗摘要,而非噪音
指定一台通知器節點專責聚合:網關寫結構化事件到本機 Redis 或檔案尾;通知器以五分鐘視窗批次、依 HTTP 狀態去重,再推一則 Slack 或郵件摘要。其他 Mac 工作者訂閱摘要頻道即可協作,不必盯原始日誌。
- 信封中繼資料:含關聯 ID、可用區、重試次數,讓值班精準重播單一失敗投遞。
- 背壓:若摘要管道本身失敗,退回磁碟計數器,避免靜默遺失。
- 人話敘述:摘要像航班看板—短句、除非嚴重否則不夾堆疊追蹤。
HowTo:滾動驗證輪換令牌
在密鑰庫鑄造影子憑證,與舊令牌並存注入金絲雀網關,驗證出站 Webhook 至少一個完整工作日。以設定修訂標籤將影子密鑰提升到所有網關,成功指標在兩個輪詢週期內持平後再撤銷舊令牌。
呼叫網關的工作者應從短命檔讀令牌,並以 rename 原子更新,避免輪換寫入半套密鑰。每次輪換寫入操作者與工單 ID,方便資安覆核。
九十日為底線;公網 Webhook 或跨租戶事件則縮短間隔,並以表單記錄哪台 Mac 最後確認成功。
多節點協作檢查清單
- Runbook 對齊:兩台網關使用相同 systemd 或 launchd 單元名稱。
- 時間同步:所有 Mac 節點
sntp漂移低於兩秒。 - Webhook 重播佇列:磁碟用量有上限並設高水位告警。
- 探針 SLO:複合端點 p95 回應低於兩百毫秒。
- 摘要延遲:失敗摘要早於主管升級到達。
- 令牌重疊:新舊密鑰並存至少十二小時。
- 維運 SSH:跳躍路徑寫在說明文件旁邊。
- 容量覆核:流量成長後每季回看方案。
FAQ:讓 OpenClaw 在 clustervps 上很「無聊」
每個可用區要獨立 TLS 憑證嗎? 建議在地終止,使用者走區域內路徑;簽發仍自動化且共用同一 CA 設定檔,續期劇本才可複製。
合併探針會不會藏住局部故障? 提供降級模式:HTTP 200 搭配 "status":"degraded" 觸發黃燈儀表板,流量仍可疏導。
實習生能演練輪換嗎? 可以—影子令牌加金絲雀網關讓演練安全,參與者不必碰生產佇列。