54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
# IOP — Inference Operations Platform
|
|
|
|
IOP는 단일 서비스가 아닌 플랫폼이다. 여러 앱이 협력하여 AI 모델 추론 워크로드를 처리한다.
|
|
|
|
## 앱 구성
|
|
|
|
| 앱 | 책임 |
|
|
|---|---|
|
|
| `apps/node` | 디바이스별 node agent. 런타임 라우팅, 추론 어댑터 실행, edge 연결을 담당한다. |
|
|
| `apps/edge` | node 등록, 레지스트리, transport, 콘솔 기반 요청 전달을 담당하는 gateway이다. |
|
|
| `apps/control-plane` | 노드 등록, 정책, 스케줄링 제어 영역이다. |
|
|
| `apps/worker` | 비동기 작업 처리 영역이다. |
|
|
|
|
## 내부 통신
|
|
|
|
- **프로토콜**: TCP + Protobuf + mTLS
|
|
- **메시지 계약**: `proto/iop/*.proto`
|
|
- **생성물**: `proto/gen/iop/*.pb.go`
|
|
- gRPC **사용 금지**
|
|
- WebSocket transport 기본화 **금지**
|
|
|
|
## 외부 API
|
|
|
|
외부 OpenAI-compatible API는 `apps/edge`의 책임 영역으로 둔다.
|
|
|
|
## 기본 명령 예시
|
|
|
|
```bash
|
|
# 의존성 설치
|
|
go mod tidy
|
|
|
|
# node CLI 빌드 예시
|
|
go build -o bin/node ./apps/node/cmd/node
|
|
|
|
# node CLI 실행 예시
|
|
./bin/node version
|
|
./bin/node config print
|
|
./bin/node serve
|
|
```
|
|
|
|
## 모노레포 구조
|
|
|
|
```
|
|
iop/
|
|
apps/
|
|
node/
|
|
edge/
|
|
control-plane/
|
|
worker/
|
|
packages/ # 공통 패키지
|
|
proto/ # Protobuf 스펙과 생성물
|
|
configs/ # 앱별 설정 파일
|
|
docs/ # 아키텍처와 운영 문서
|
|
```
|