피드로 돌아가기
Building an AI Clothes Changer: provider abstraction, async jobs, and a credit system that won't lose money
Dev.toDev.to
Backend

Provider Abstraction과 Freeze-Settle 패턴 기반의 AI 이미지 생성 시스템 설계

Building an AI Clothes Changer: provider abstraction, async jobs, and a credit system that won't lose money

gxlbfc2026년 6월 17일2intermediate

Context

AI Provider의 빈번한 정책 변경과 API 불안정성으로 인한 시스템 경직성 해결 필요. 수십 초에서 수 분이 소요되는 AI 생성 작업의 비동기 처리 및 동시성 제어 기반의 신뢰할 수 있는 크레딧 결제 시스템 구축이 핵심 과제.

Technical Solution

  • Factory Pattern 기반 Provider Interface 설계를 통한 특정 AI API 종속성 제거 및 환경 변수 변경만으로 Provider 교체가 가능한 유연성 확보
  • Webhook 기반의 Async Callback 아키텍처를 도입하여 롱러닝 잡의 요청 블로킹 방지 및 상태 동기화 최적화
  • 외부 API 생성 결과물의 자체 저장소(Cloudflare R2) 재업로드를 통한 링크 만료 문제 해결 및 데이터 소유권 확보
  • 크레딧 관리의 'Freeze $\rightarrow$ Settle/Release' 상태 머신 도입으로 동시 요청에 따른 과다 청구 방지 및 실패 시 자동 환불 보장
  • FIFO(First-In-First-Out) 방식의 패키지 소진 로직을 적용하여 만료 임박 크레딧 우선 소비 및 회계 처리 단순화

- 외부 API 의존성을 인터페이스로 추상화하여 벤더 락인(Vendor Lock-in) 방지 - 결제 및 포인트 시스템 설계 시 'Hold(Frozen)' 상태를 도입하여 원자성 확보 - 비동기 작업의 최종 상태 결정권(Source of Truth)을 Webhook으로 일원화 - 외부 서비스 생성 리소스의 라이프사이클을 제어하기 위해 자체 스토리지로 즉시 이전

원문 읽기