NU / PROMPT STUDIO

BLOG / 아키텍처

생성 작업이 장애를 살아남는 법: 상태 기계와 멱등성

장시간 생성 작업은 프로세스 재시작과 외부 장애를 전제로 설계해야 합니다. 잡 상태 기계, 멱등 제출, 재조정(reconciliation) 루프를 다룹니다.

· 6분 읽기

상태 기계가 계약이다

모든 생성 잡은 QUEUED에서 COMPLETED/FAILED/CANCELLED 같은 종결 상태까지 정의된 전이만 허용하는 상태 기계를 따릅니다. 워커와 API가 같은 상태 기계를 공유하므로, 어느 쪽이 재시작돼도 잡은 정의되지 않은 상태로 빠지지 않습니다.

멱등성과 재조정

쓰기 요청은 Idempotency-Key 헤더를 요구하고, 같은 키의 재전송은 저장된 결과를 그대로 돌려줍니다. 여기에 주기적인 재조정 루프가 프로바이더의 실제 잡 상태와 우리 원장을 비교해 유실된 완료·실패 이벤트를 회수합니다.

이 조합 덕분에 결제·크레딧 원장과 생성 파이프라인이 장애 중에도 서로 어긋나지 않습니다.