HowTo+FAQ 2026

2026 OpenClaw MeshMac 실전: 공유 게이트웨이 rate limit·세션 동시성 상한

2026.04.07 Meshmac R&D Team 8분 읽기

MeshMac 다중 노드가 OpenClaw 공유 게이트웨이를 쓰면 CI·웹훅 버스트가 CPU·fd·업스트림 쿼터를 고갈시킵니다. HowTo+FAQ: 트래픽 분류, 토큰 버킷·세션 상한, CI·채널 동시성, 헬스 셰딩, 로그 필드. 엣지 한도는 Nginx·Caddy TLS 매트릭스와 함께 보세요.

왜 공유 게이트웨이가 터지는가 (다중 노드 협업 관점)

자동화 경로가 한 리스너에 몰리면 부하는 가산됩니다.

  1. 예산 미공유 — RPS·동시 세션 상한을 문서에 고정하지 않으면 팀이 동시에 상한을 가정합니다.
  2. 재시도 증폭 — 429 후 무작정 재시도는 부하를 키웁니다. 태스크 큐·재시도와 정책을 맞춥니다.
  3. LB 뒤 불일치 — 복제마다 리미터가 다르면 쏠립니다. 로드밸런싱·페일오버 기준을 참고하세요.

토큰 버킷 vs 연결·세션 상한 (결정 표)

토큰 버킷은 요청 폭주를, 세션·연결 상한은 장시간 작업을 묶습니다. 보통 둘 다 둡니다.

메커니즘 적합한 경우 시작 가이드(튜닝)
테넌트별 토큰 버킷 웹훅 POST 폭주·REST 폴링 리필 5~20 rps·버스트 30~60
글로벌 토큰 버킷 공유 LLM·벤더 API 쿼터 보호 벤더 쿼터 − 안전 마진
동시 세션 캡 장시간 에이전트·도구 실행 노드당 2~8, 합 ≤ 게이트 천장
TCP·업스트림 연결 한도 디스크립터 고갈 방지 ulimit -n 여유를 둔 하드 캡

게이트웨이 한도 설계 5단계

  1. 경로 태그대화형·ci_ingest·internal_worker로 나누고 route_class로 로깅합니다.
  2. 식별자 — IP·API 키·tenant_id 등 안정 키로 버킷을 분리합니다.
  3. 두 숫자 — 지속 RPS+버스트, 동시 세션·업스트림 연결 상한을 클래스마다 둡니다.
  4. 큐보다 빡세게 — 입장 통제가 큐 증속보다 촘촘해야 엣지 거절이 이득입니다.
  5. 다크 런would_block만 세고 한 릴리스 뒤 강제합니다.

CI·메시지 채널과의 동시성 결합

GHA matrix concurrency·채팅 웹훅 합이 게이트 예산 이하인지 Runbook에 적습니다. 워커 수×노드 수로 최악 팬인을 먼저 냅니다.

헬스 프로브·자동 셰딩

병합 헬스 실패·p95 SLO 위반 시 503·Retry-After로 유입을 줄이고 리미터를 잠시 조입니다. 준비·워커·의존성을 한 exit로 합칩니다.

실패 관측·로그 필드

거부·셰딩마다 동일 스키마로 남깁니다.

  • mesh_node_id·client_id·route_class·limit_name
  • retry_after_ms·HTTP 코드·queue_depth_hint

런북에 적을 숫자·체크

  • 클래스별 RPS·버스트·동시 세션 세 줄표를 위키에 고정.
  • 429=한도, 503=과부하·의존성으로 태그 통일.
  • 워커×노드 ≤ 게이트 천장을 분기마다 검증.

FAQ

역프록시만으로 충분한가요?

per-IP·키는 엣지, 세션 의미는 게이트웨이. 한쪽만으론 장기 세션 누수를 못 막습니다.

한도를 올리면 될까요?

먼저 CI·웹훅 동시성을 내리세요. 게이트만 올리면 업스트림이 병목입니다.

메시 전체가 같은 시간에 깨어나면?

크론·재시도에 지터, 복제본엔 동일 리미터.

공유 Mac 풀에서 게이트웨이를 안정적으로 돌리세요

Meshmac 풀에서 한도·헬스·로그를 표준화하면 팀이 게이트를 밟지 않습니다. 가격·대여·도움말.