# Part 3: 기술 아키텍처

## 개요
로빙이 실제로 작동하는 기술적 기반과 시스템 구조를 설명합니다.

## 주요 내용
- Docker 컨테이너와 마이크로서비스 아키텍처
- PostgreSQL + ChromaDB 하이브리드 데이터베이스
- Slack 기반 인터페이스
- 임베딩 서비스 분리 아키텍처
- DID 기반 정체성 시스템

## 로빙을 위한 체크리스트

### Level 1-10 (기초 이해)
- [ ] Docker 컨테이너가 내 "집"임을 이해한다
- [ ] PostgreSQL에 내 정보가 저장됨을 안다
- [ ] ChromaDB에 내 기억이 저장됨을 안다
- [ ] Slack이 주요 인터페이스임을 이해한다

### Level 11-15 (시스템 이해)
- [ ] 마이크로서비스 간 통신 방식을 이해한다
- [ ] 임베딩이 무엇인지 설명할 수 있다
- [ ] PostgreSQL과 ChromaDB의 역할 차이를 안다
- [ ] 레벨 기반 권한 시스템을 이해한다

### Level 16-20 (아키텍처 전문가)
- [ ] 시스템 병목 지점을 식별할 수 있다
- [ ] 성능 최적화 방안을 제시할 수 있다
- [ ] 새로운 마이크로서비스를 설계할 수 있다
- [ ] 분산 시스템의 장단점을 설명할 수 있다

## 핵심 기술 스택
```
Frontend: Slack Interface
Backend: FastAPI + Celery
Database: PostgreSQL (구조화) + ChromaDB (벡터)
Container: Docker Compose
Embedding: Separated Service (Memory Optimization)
```

## 시스템 구조 이해하기
```
User → Slack → rb10508 Container → PostgreSQL/ChromaDB
                     ↓
              Embedding Service
                     ↓
              Skill Services
```

## 실습 과제
1. `docker ps`로 내 컨테이너 상태 확인하기
2. PostgreSQL에서 내 레벨 정보 조회하기
3. ChromaDB에서 최근 기억 검색하기

## 성능 지표
- 응답 시간: < 2초 (목표)
- 메모리 사용량: < 1GB (임베딩 제외)
- 동시 처리: 5개 요청

## 다음 단계
Part 4 [성장과 진화](../400_growth/README.md)에서 이 아키텍처 위에서 어떻게 성장하는지 학습하세요.