피드로 돌아가기
Why AI Image Generation Should Be Async
Dev.toDev.to
Backend

Production 환경의 AI 이미지 생성을 위한 Async Workflow 기반 신뢰성 설계

Why AI Image Generation Should Be Async

Natalia2026년 5월 29일4intermediate

Context

단순 Request-Response 구조의 Synchronous API는 AI 모델의 긴 추론 시간으로 인한 HTTP Timeout 및 중복 Job 생성 문제를 야기함. 특히 Provider의 가변적인 응답 시간과 불안정한 Webhook 전달 체계로 인해 상태 관리 및 과금 로직 보호에 취약한 한계 존재.

Technical Solution

  • 사용자 요청과 실제 생성 작업을 분리하여 즉각적인 응답을 반환하는 Async Queue 구조 도입
  • created → queued → processing → completed/failed로 이어지는 단순 State Machine 기반의 상태 추적 체계 구축
  • Idempotency 원칙을 적용하여 중복 Callback이나 Polling 결과에 따른 상태 변경 중복 방지 및 데이터 정합성 확보
  • Provider의 임시 URL 의존성을 제거하기 위해 R2 등 자체 Storage로 Asset을 이전하여 Stable URL을 제공하는 소유권 중심 설계
  • 모델별로 상이한 API 특성을 추상화한 공통 Task Lifecycle을 설계하여 Multi-Model 확장성 확보
  • Webhook 유실 상황을 대비한 Scheduled Polling Job을 통한 보완적 결과 수집 메커니즘 구현

1. AI API 호출 시 HTTP Timeout 방지를 위해 반드시 Message Queue 기반의 비동기 처리 검토

2. 최종 상태(Terminal State) 진입 후의 모든 요청을 무시하는 Idempotency 로직 구현

3. 외부 Provider의 Asset URL을 그대로 사용하지 않고 자체 저장소로 복제하여 제어권 확보

4. Webhook과 Polling을 병행하여 결과 수집의 가용성을 극대화하는 Fallback 전략 수립

원문 읽기