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

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

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

---

[Enterprise AI platform](/en/courses/enterprise-ai-platform) 2. Durable Workflow·Queue·승인 3 / 9

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

workflow/step, replay, idempotency, approval과 Queue 경계
Concept 45 XP 9 min

장기 실행과 사람 승인은 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 선택은 상태·순서·재개 필요성으로 판단한다

[Previous](/en/courses/enterprise-ai-platform/lessons/ep-m1-quiz) Got it · Continue

---

Site guide for agents: https://learning.reopt.ai/llms.txt · Sitemap: https://learning.reopt.ai/sitemap.xml · Contact: https://learning.reopt.ai/contact
