플리트 토폴로지 패턴
godotz.ai는 개발자 노트북 한 대부터 50개 이상의 이종 노드 플리트까지 확장됩니다. 이 페이지는 검증된 배포 패턴을 설명합니다.
패턴 1: 단일 노드 (Solo)
사용 사례: 개발자 머신, 실험, PoC
노드 수: 1
동시 요청: GLM 최대 18개
┌──────────────────────────────┐
│ Solo Node │
│ ┌──────────────────────┐ │
│ │ LiteLLM Proxy │ │
│ │ Redis + Postgres │ │
│ ├──────────────────────┤ │
│ │ OMP/hermes │ │
│ │ 128 skills │ │
│ ├──────────────────────┤ │
│ │ Mnemopi + KG │ │
│ └──────────────────────┘ │
│ │
│ Platform: x86_64-linux │
└──────────────────────────────┘
설치
# Nix flake로 단일 노드 설치
nix develop github:omp-team/omp-fleet#solo
# 또는 Docker로 빠른 시작 (개발용)
docker compose -f compose.solo.yml up -d
권장 설정
# config/solo.yml
omp:
mode: solo
node_name: "dev-machine"
model_gateway:
concurrency:
glm_5_1: 10
glm_5_turbo: 1
glm_4_7: 2
glm_4_5_air: 5
memory:
mnemopi:
max_entries: 5000
graphify:
max_files: 1000
비용: 월 $30-80 예상 (GLM 주 사용 기준)
패턴 2: 2-노드 (Companion)
사용 사례: 소규모 팀, 스테이징 환경
노드 수: 2
동시 요청: 36개
┌─────────────────┐ Tailscale ┌─────────────────┐
│ Primary Node │◄────────────────►│ Worker Node │
│ ┌───────────┐ │ │ ┌───────────┐ │
│ │ Gateway │ │ │ │ Executor │ │
│ │ Orchestr. │ │ │ │ GLM-5.1 │ │
│ │ Memory │ │ │ │ (x10) │ │
│ └───────────┘ │ │ └───────────┘ │
│ │ │ │
│ claude-opus │ │ glm-5.1/4.7 │
└─────────────────┘ └─────────────────┘
x86_64-linux aarch64-linux
(ARM 가능)
노드 역할 분리
| 노드 | 역할 | 실행 모델 | 특성 |
|---|---|---|---|
| Primary | Gateway, 오케스트레이터, 메모리 | claude-opus-4-6 | 고성능 x86 |
| Worker | 실행자, 코드 생성, 테스트 | glm-5.1, glm-4.7 | ARM 가능 |
Tailscale 설정
# Primary 노드
tailscale up --authkey=<key> --hostname=omp-primary
# Worker 노드
tailscale up --authkey=<key> --hostname=omp-worker-1
# ACL: worker → primary (게이트웨이만 허용)
{
"acls": [
{"action": "accept", "src": ["tag:omp-worker"], "dst": ["tag:omp-primary:8000"]}
]
}
패턴 3: 팀 플리트 (Team Fleet)
사용 사례: 팀 레벨 AI 인프라
노드 수: 5-10
동시 요청: 90-180개
┌────────────────┐
│ Control Plane │
│ Temporal │
│ Postgres │
│ Redis │
│ Langfuse │
└───────┬────────┘
│ Tailscale Mesh
┌─────────────────┼─────────────────┐
│ │ │
┌─────┴──────┐ ┌──────┴─────┐ ┌──────┴─────┐
│ Orch Node 1│ │ Orch Node 2│ │ Memory Node│
│ Claude-Op. │ │ Gemini-3.1 │ │ Mnemopi │
│ (primary) │ │ (secondary)│ │ KG │
└────────────┘ └────────────┘ └────────────┘
│ │
┌─────┴──────┐ ┌──────┴─────┐
│ Worker 1 │ │ Worker 2 │
│ GLM-5.1×10 │ │ GLM-5.1×10 │
└────────────┘ └────────────┘
고가용성 전략
- 오케스트레이터 이중화: claude-opus-4-6과 gemini-3.1-pro가 hot standby
- 워커 수평 확장: 워커 노드 추가만으로 처리량 선형 확장
- 메모리 노드 분리: 메모리 시스템을 전용 노드에 격리
Komodo 설정
# komodo.yml
fleet:
nodes:
- name: control
role: control_plane
flake: "github:omp-team/omp-fleet#control"
- name: orchestrator-1
role: orchestrator
flake: "github:omp-team/omp-fleet#orchestrator"
- name: orchestrator-2
role: orchestrator
flake: "github:omp-team/omp-fleet#orchestrator"
- name: memory
role: memory
flake: "github:omp-team/omp-fleet#memory"
- name: worker-1
role: worker
flake: "github:omp-team/omp-fleet#worker"
replicas: 2 # 2개 복제
패턴 4: 풀 플리트 (Full Fleet)
사용 사례: 조직 레벨, 연구 클러스터
노드 수: 20+
동시 요청: 360+
┌────────────────────────────────────────────────────────┐
│ Full Fleet Topology │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Control Zone │ │ Edge Zone │ │
│ │ Temporal │ │ ARM Nodes │ │
│ │ Postgres │ │ Mobile │ │
│ │ Redis HA │ │ IoT │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ┌──────┴───────────────────────────┐ │
│ │ Tailscale Mesh │ │
│ └──────────────────────────────────┘ │
│ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Orch Zone │ │ Worker Zone │ │
│ │ 5 nodes │ │ 15 nodes │ │
│ │ claude-opus │ │ glm-5.1×10 │ │
│ │ gemini │ │ each │ │
│ └──────────────┘ └──────────────┘ │
└────────────────────────────────────────────────────────┘
지역별 토폴로지
fleet:
regions:
seoul:
nodes: 10
primary: true
models: [glm-5.1, glm-4.7]
tokyo:
nodes: 5
primary: false
models: [glm-5.1]
edge:
nodes: 5
type: arm
models: [glm-4.5-air] # 경량 모델
connectivity: intermittent # 간헐적 연결
패턴 5: 모바일-엣지 (Mobile Edge)
사용 사례: 현장 작업, 저연결 환경
노드 수: 1 ARM + 클라우드 백업
ARM Edge Device (RPi 5 또는 유사)
┌──────────────────────────────┐
│ 로컬 캐시 (Redis) │
│ 경량 모델 (glm-4.5-air) │
│ 오프라인 메모리 (Mnemopi) │
│ 부분 KG (Graphify 서브셋) │
└──────────────┬───────────────┘
│ 간헐적 연결
▼
┌──────────────────────────────┐
│ Cloud Control Plane │
│ 전체 모델 접근 │
│ 완전한 메모리 │
│ 동기화 (연결 시) │
└──────────────────────────────┘
오프라인 동작 모드
edge:
offline_mode:
enabled: true
local_models: [glm-4.5-air]
cache_ttl: 7d
sync_on_connect: true
# 오프라인 시 제한
degraded_capabilities:
- complex_orchestration: unavailable
- full_kg_queries: unavailable
- budget_enforcement: local_only
노드 역할 참조
| 역할 | 최소 사양 | 권장 사양 | 실행 모델 |
|---|---|---|---|
| Control | 2C/4G RAM | 4C/16G RAM | 없음 (관리용) |
| Orchestrator | 4C/8G RAM | 8C/32G RAM | claude-opus-4-6 |
| Worker | 2C/4G RAM | 4C/8G RAM | glm-5.1 |
| Memory | 4C/16G RAM | 8C/32G RAM | 없음 (저장용) |
| Edge | 1C/2G RAM | 4C/4G RAM | glm-4.5-air |
관련 문서
- Fleet Setup Guide — 단계별 플리트 설치
- Architecture Overview — L0-L6 전체 아키텍처
- Model Matrix — 노드별 모델 선택
- Security Gates — 플리트 보안 설정