61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
# IOP — Inference Operations Platform
|
|
|
|
IOP는 단일 서비스가 아닌 플랫폼이다. 여러 앱이 협력하여 AI 모델 추론 워크로드를 처리한다.
|
|
|
|
## 앱 구성
|
|
|
|
| 앱 | 설명 | 상태 |
|
|
|---|---|---|
|
|
| `apps/node` | 노드 에이전트. 디바이스당 1개 실행. 실제 추론 어댑터 관리 | **1차 구현 대상** |
|
|
| `apps/edge` | 외부 OpenAI-compatible API 게이트웨이 | Placeholder |
|
|
| `apps/control-plane` | 노드 등록/정책/스케줄링 제어 | Placeholder |
|
|
| `apps/worker` | 비동기 작업 처리기 | Placeholder |
|
|
|
|
## 내부 통신
|
|
|
|
- **프로토콜**: TCP + Protobuf + mTLS
|
|
- **프레이밍**: 4-byte big-endian length prefix | JSON(Envelope)
|
|
- gRPC **사용 금지**
|
|
- WebSocket transport 기본화 **금지**
|
|
|
|
## 외부 API
|
|
|
|
외부 OpenAI-compatible API는 향후 `apps/edge`에서 담당한다.
|
|
|
|
## 빌드
|
|
|
|
```bash
|
|
# 의존성 설치
|
|
go mod tidy
|
|
|
|
# node 빌드
|
|
go build -o bin/node ./apps/node/cmd/node
|
|
|
|
# 실행
|
|
./bin/node version
|
|
./bin/node config print
|
|
./bin/node serve
|
|
```
|
|
|
|
## 모노레포 구조
|
|
|
|
```
|
|
iop/
|
|
apps/
|
|
node/ # Node Agent — 1차 구현
|
|
edge/ # Edge API — placeholder
|
|
control-plane/
|
|
worker/
|
|
packages/
|
|
config/ # 설정 로딩
|
|
protocol/ # 와이어 포맷 타입
|
|
policy/ # 정책 엔진 인터페이스
|
|
auth/ # mTLS 인증
|
|
metadata/ # 메타데이터 타입
|
|
jobs/ # 작업 큐 타입
|
|
observability/ # 로깅/메트릭
|
|
version/ # 버전 상수
|
|
proto/iop/ # Protobuf 스펙 정의
|
|
configs/ # 앱별 설정 파일
|
|
docs/ # 문서
|
|
```
|