HowTo · FAQ · OpenClaw & MeshMac 2026

2026 OpenClaw MeshMac : passerelle partagée, rate limit et plafond de sessions — runbook minimal multi-nœuds

2026.04.07 Équipe Meshmac 10 min de lecture

Lorsque plusieurs nœuds MeshMac partagent une même passerelle OpenClaw, une rafale de webhooks, une matrice CI ou des connecteurs messagerie peut saturer CPU, descripteurs de fichiers ou quotas API amont. Ce HowTo accompagné d'une FAQ propose des étapes reproductibles : cartographier le trafic, combiner seau de jetons et seuils de connexions, aligner la concurrence des pipelines et des canaux, relier le shedding aux sondes de santé, et figer des champs de journal pour observer les refus sans ambiguïté. Pour la répartition et le failover de base, appuyez-vous sur le guide répartition de charge et basculement multi-nœuds OpenClaw MeshMac.

Sommaire

Rafales, addition de charge et collaboration multi-nœuds

Une passerelle partagée concentre l'écoute HTTP, les webhooks entrants, les sessions longues des agents sur chaque Mac et parfois des callbacks workers. Sans budget publié, ces flux s'additionnent : dix nœuds avec deux jobs concurrents peuvent ouvrir vingt sessions vers le même processus, même si la file amont reste saine. La collaboration exige donc un modèle de capacité partagé (requêtes par seconde et sessions max), des limiteurs identiques sur chaque réplique derrière le VIP, et des plafonds miroir côté CI et messagerie. Où accrocher les modules HTTP de limitation ? La matrice Nginx versus Caddy pour l'entrée TLS aide à choisir la bordure et les hooks limit_req ou équivalents sans sacrifier WebSocket.

  1. Absence de budgets : saturation silencieuse puis timeouts côté client qui relancent en boucle.
  2. Identités instables : une clé API partagée empêche d'isoler un voisin bruyant.
  3. Retries non bornés : la file accepte trop de travail toxique ; préférez rejeter tôt au bord, comme dans file de tâches et politique de retry MeshMac.

Concevoir les limiteurs : séquence reproductible

  1. Inventaire des routes. Classez chaque chemin en interactif, ingestion_ci ou worker_interne ; ce libellé devient route_class dans les logs.
  2. Choix des identités. Clé API, sujet OAuth, en-tête tenant_id injecté par CI, ou IP seulement en dernier recours.
  3. Deux nombres par classe. Débit soutenu après rafale autorisée (seau de jetons) et nombre maximal de sessions ou connexions TCP simultanées (sémaphore).
  4. Interaction avec la file. Le contrôle d'admission passerelle doit rester plus strict que la croissance de profondeur broker : rejeter à l'entrée coûte moins cher que dépiler du poison.
  5. Rollout en mode observation. Pendant une release, comptabilisez les refus potentiels sans renvoyer 429 ; activez l'application et surveillez la latence p95.
  6. Accord d'équipe. Documentez les chiffres dans le runbook partagé du pool et validez-les après chaque changement de taille de maillage.

Seau de jetons, connexions et sessions OpenClaw

Le seau de jetons lisse les rafales HTTP : recharge à un taux r, rafale maximale B. Il protège contre les vingt POST webhook en une seconde tout en préservant le débit moyen. Le plafond de sessions borne les flux TLS longue durée, WebSocket ou sessions agent coûteuses en mémoire. En production vous combinez presque toujours les deux : jetons pour les arrivées, sémaphore pour le travail parallèle cher.

Mécanisme Cas d'usage Point de départ indicatif
Seau par locataireRafales webhook, polling RESTRecharge 5 à 20 req/s, rafale 30 à 60 jetons
Seau globalQuota fournisseur LLM ou API tierceRecharge alignée sur quota moins marge de sécurité
Cap sessions concurrentesAgents longue durée, exécution d'outilsDeux à huit par classe de nœud ; somme maillage ≤ plafond passerelle
Limite connexions TCP amontÉpuisement de descripteursPlafond dur avec marge ulimit -n

Repères exploitables : viser une corrélation systématique entre limiteur et étiquettes CI (mesh_node_id) ; conserver quatorze jours de logs JSON pour post-mortem ; revoir les seuils après chaque ajout de nœud au pool.

CI, webhooks et messagerie : même budget, trois surfaces

Des limiteurs passerelle sans discipline amont restent inefficaces. Côté GitHub Actions, groupez la concurrency par environnement pour qu'un seul déploiement parle à la passerelle à la fois, et réduisez le parallélisme de matrice pour éviter que chaque job n'ouvre sa session. Pour Matrix, Teams ou autres connecteurs, traitez les tentatives de retry comme un second seau : une salle avec plusieurs bots multiplie le trafic si chaque bot ignore le budget global. Les messages par minute se superposent au débit HTTP ; calibrez-les ensemble. Lors du préchauffage des skills sur les nœuds, espacez les vagues pour qu'elles ne coïncident pas avec une réouverture massive de sessions après incident.

Sondes de santé et shedding coordonné

Exposez un /healthz peu coûteux qui agrège disque, ping file et dépendances critiques. Lorsque la sonde fusionnée échoue ou que la latence dépasse le SLO, basculez un drapeau interne : répondez 503 avec Retry-After pour les nouvelles sessions tout en laissant finir ou drainer le travail en cours avec un délai court. Vous pouvez resserrer automatiquement le refill des jetons lorsque le CPU dépasse quatre-vingts pour cent pendant plusieurs secondes, puis relâcher après une période de calme. Le répartiteur doit réutiliser la même sonde pour retirer les réplicas malades avant fusion complète.

Champs de journal pour distinguer saturation et panne

Les opérateurs doivent pouvoir agréger une ligne JSON par refus ou shedding sur l'ensemble du maillage.

Champ Rôle
mesh_node_idMac ou VM à l'origine de la session ; croiser avec les labels CI
gateway_instance_idPod, label launchd ou hostname derrière le VIP
route_classinteractif, ingestion_ci, worker_interne
limit_nameex. tenant_rps, global_sessions
client_idEmpreinte de clé API ou sujet OAuth redacted
http_status429 versus 503 pour playbooks d'astreinte distincts
retry_after_msÉcho de l'en-tête pour backoff client
queue_depth_hintInstantané optionnel du broker pour détecter l'embouteillage

Alertez sur un ratio 429 soutenu par locataire (mauvaise config amont) et sur des pics 503 corrélés à une santé rouge (incident capacité ou dépendance). Complétez par des traces pour séparer « limité au bord » et « timeout worker ».

FAQ

Proxy TLS ou process OpenClaw pour le rate limit ?

Proxy pour le grossier par IP et clé ; passerelle pour sessions, outils et routage modèle. Documentez les deux pour éviter les tempêtes de retry.

Comment éviter la ruée de plusieurs nœuds ?

Même config derrière LB, quotas centralisés si sharding par équipe, jitter sur cron et CI, plafond worker par nœud sommé sous le budget passerelle.

Statut HTTP recommandé ?

429 avec Retry-After pour limite nominale ; 503 lorsque la santé agrégée échoue. Même schéma JSON dans les deux cas.

En synthèse : une passerelle OpenClaw sur MeshMac mutualisée exige des plafonds explicites, un alignement CI et messagerie, et des journaux stables pour le diagnostic multi-nœuds. Poursuivez sur le hub thématique OpenClaw et l'index du blog pour les playbooks adjacents.

Passer à l'action

Agrandissez le maillage sans faire plier la passerelle

Ajoutez des nœuds Mac Apple Silicon pour paralléliser builds et agents tout en gardant une bordure disciplinée. Comparez les forfaits et le multi-nœuds sans créer de compte, ouvrez le centre d'aide pour SSH, VNC et accès passerelle, et parcourez le blog pour la suite des guides MeshMac.

Acheter / forfaits