# Timeout을 늘리는 대신 상태를 영속화한다

> workflow/step, replay, idempotency, approval과 Queue 경계

- Canonical: https://learning.reopt.ai/courses/enterprise-ai-platform/lessons/ep-m2-concept
- Language: ko-KR
- HTML: https://learning.reopt.ai/courses/enterprise-ai-platform/lessons/ep-m2-concept

---

[엔터프라이즈 AI 플랫폼 설계](/courses/enterprise-ai-platform) 2. Durable Workflow·Queue·승인 3 / 9

# Timeout을 늘리는 대신 상태를 영속화한다

workflow/step, replay, idempotency, approval과 Queue 경계
개념 학습 45 XP 9분

장기 실행과 사람 승인은 HTTP 요청 수명에 맞지 않습니다. 오케스트레이션은 workflow, 재시도·영속화 가능한 단위는 step으로 나누고 side effect를 뒤로 밀며 idempotency key를 사용합니다. 단순 fan-out은 Queue가 더 작고 명확할 수 있습니다.
모든 비동기가 Workflow는 아니다 여러 단계·외부 event·승인·복구가 필요하면 Workflow, 독립 메시지 fan-out과 소비자 decoupling이면 Queue를 우선합니다.

| 요구 | Workflow | Queue |
| 여러 단계 상태·재개 | 적합 | consumer가 직접 관리 |
| 사람 승인 대기 | 적합 | 별도 상태 저장 필요 |
| 대량 독립 fan-out | 과할 수 있음 | 적합 |
| step별 retry·보상 | 내장 계약 | consumer 계약 |

- 1 재개 지점 정의 외부 event·승인·오류 뒤 어디서 이어갈지 정합니다.

- 2 작은 step 재시도 가능한 결정적 작업과 side effect를 분리합니다.

- 3 Idempotency 외부 write와 메시지마다 중복 방지 키를 둡니다.

- 4 보상·timeout 승인 만료·실패·취소의 compensation을 설계합니다.

실무에 남길 기준

- replay 가능한 step은 side effect를 반복하지 않아야 한다
- 승인은 대화 UX가 아니라 영속 상태와 재개 계약이다
- Workflow와 Queue 선택은 상태·순서·재개 필요성으로 판단한다

[이전](/courses/enterprise-ai-platform/lessons/ep-m1-quiz) 이해했어요 · 계속

---

에이전트용 사이트 안내: https://learning.reopt.ai/llms.txt · 사이트맵: https://learning.reopt.ai/sitemap.xml · 문의: https://learning.reopt.ai/contact
