네트워크 경계를 넘는 순간 7개 레이어가 추가된다. 42가지 상태 조합, 5가지 장애 시나리오, 그리고 마켓플레이스를 올리면 AWS + Uber + eBay를 동시에 만드는 것에 가깝다.
| 장애 | 개인 하네스 | 분산 하네스 |
|---|---|---|
| 프로세스 크래시 | 재시작 | Heartbeat 타임아웃 → STALE → 재할당 |
| 중간 결과 손실 | 로컬 파일 복구 | idempotency_key 기반 재시도 + 중복 결과 dedup |
| 능력 부족 | 즉시 에러 | TASK_REJECT → 다른 Worker 선택 → 능력 매칭 재실행 |
| 부분 실패 | 전체 재시도 | fail-fast / best-effort / retry-then-fail 정책 선택 |
| Host 다운 | N/A | Worker 로컬 큐 저장 → 재연결 시 flush → audit log 복원 |
| 레이어 | 개인 하네스 | 분산 추가 사항 | 배수 |
|---|---|---|---|
| 신뢰 | 암묵적 | Ed25519, TLS, 서명, nonce/replay | ×5 |
| 가입 | 즉시 등록 | 승인 게이트 + 상태머신 | ×3 |
| 통신 | 함수 호출 | WebSocket TLS + JSON-RPC | ×4 |
| 장애 | 프로세스 단위 | 네트워크 파티션, Heartbeat | ×6 |
| 능력 | 정적 | 동적 Manifest + dispatch | ×3 |
| 결과 검증 | 로컬 QA | Schema + 서명 + redundant | ×3 |
| 관찰성 | 로컬 로그 | Audit + 메트릭 + trace | ×3 |