피드로 돌아가기
I built a production ML inference API with FastAPI, Celery and Docker — here's the full architecture
Dev.toDev.to
AI/ML

FastAPI와 Celery 기반 Async Inference 구조를 통한 ML 서빙 최적화

I built a production ML inference API with FastAPI, Celery and Docker — here's the full architecture

sada2026년 6월 21일1intermediate

Context

모델 학습 이후의 Production 배포 단계에서 발생하는 실시간 추론의 병목 현상 해결 필요. 단순 동기식 API 구조로는 무거운 ML 모델의 추론 시간 동안 HTTP 커넥션이 점유되는 한계 존재.

Technical Solution

  • FastAPI의 Async endpoint를 활용한 Non-blocking 요청 수신 구조 설계
  • Celery 기반의 Background Worker 도입을 통한 무거운 추론 로직의 비동기 처리
  • Redis를 Message Broker 및 Result Backend로 단일화하여 인프라 복잡도 감소
  • Client에게 Task ID를 즉시 반환하는 Polling 패턴 적용으로 응답 지연 시간 최소화
  • In-memory Celery Eager mode를 통한 Redis 의존성 제거 및 테스트 실행 속도 향상
  • Docker 기반 컨테이너화를 통한 환경 일관성 확보 및 배포 파이프라인 구축

1. ML 추론 시간이 HTTP Timeout 임계치를 초과하는지 확인 후 Async Queue 도입 검토

2. Broker와 Result Backend의 기능적 요구사항을 분석하여 Redis 등 단일 솔루션 적용 가능 여부 판단

3. CI/CD 단계의 테스트 속도 향상을 위해 외부 의존성을 배제한 Eager mode 설정 적용

원문 읽기