확장을 위한 설계
EDDI는 Java 25와 Quarkus에서 실행되며, 대규모 I/O 바운드 동시성을 위해 가상 스레드(Project Loom)를 활용합니다.
AI 에이전트에 가상 스레드가 중요한 이유
최신 AI 에이전트는 근본적으로 I/O 바운드입니다.
Java 가상 스레드는 이를 우아하게 해결합니다.
성능 하이라이트
- 가상 스레드 — 동시 LLM 호출을 위한 수백만 개의 경량 스레드
- Quarkus 런타임 — 클라우드 네이티브, 개발 모드 핫 리로드, 컨테이너 최적화
- NATS JetStream — 이벤트 기반 아키텍처로 수평 확장
- 듀얼 데이터베이스 — MongoDB 또는 PostgreSQL, 환경 변수 하나로 전환. 두 DB 모두 단일 Docker 이미지
- SSE 스트리밍 — Server-Sent Events를 통한 실시간 채팅 응답, 그룹 토론 피드, 라이브 로그 스트리밍
- 원커맨드 설치 — Docker Compose로 EDDI + 데이터베이스 + 스타터 에이전트를 배포하는 인터랙티브 위저드
- Red Hat 인증 — CI/CD에서 자동 프리플라이트 체크를 통한 컨테이너 인증
맥락에서의 성능
모든 시나리오에서 이기는 런타임은 없습니다. Java는 CPU 집약적 작업을 포함하는 시나리오에서 Node.js를 30~68% 일관되게 능가합니다 — 이것이 정확히 AI 에이전트에 필요한 것입니다.
EDDI의 아키텍처는 혼합 I/O + CPU 워크로드를 위해 의도적으로 최적화되어 있습니다: 가상 스레드를 가진 Quarkus와 Loom 호환 커넥션 풀(Agroal)을 결합합니다.