Step Functions 동기식/비동기식 실행
- 동기식 실행
- Step Functions의 전체 실행이 완료될 때까지 기다리는 방식
- 워크플로우가 완료된 후 결과를 즉시 반환하며, 결과를 반환할 때까지 호출한 애플리케이션이 블록(block)되어 다른 작업을 수행 X
- 비동기식 실행
- Step Functions 워크플로우를 시작한 후 즉시 반환되고, 워크플로우의 결과를 기다리지 않는 방식
- 호출 애플리케이션은 완료 여부와 상관없이 다른 작업을 계속 진행 O
- 별도의 상태 모니터링 필요
- 워크플로우가 완료되었는지 확인하려면 호출 애플리케이션이 DescribeExecution API를 사용해 실행 상태를 주기적으로 확인 필요
- 워크플로우 완료 후 Amazon SNS, Amazon SQS 또는 Lambda를 통해 알림 구성 O
Standard Workflow / Express Workflow
- Standard Workflow
- 오래 실행되며 신뢰성이 중요한 작업에 적합
- 복잡하고 긴 실행 시간을 요구하는 작업에 대해 높은 내구성, 재시도, 상태 모니터링 등 다양한 기능을 제공
- 금융 거래 처리나 대규모 데이터 파이프라인처럼 오류 발생 시 중단 없이 다시 이어서 작업이 진행되어야 하는 경우에 유용
- Express Workflow
- 짧고 빠르게 완료되는 작업을 대량으로 실행할 때 적합 (5분 미만)
- 실시간 데이터 스트리밍 처리, 짧은 API 응답, 서버리스 애플리케이션에서 대량의 이벤트를 빠르게 처리해야 하는 경우에 사용
- API Gateway와 통합하여 비동기 작업 처리
기타 사항
- Step Functions 워크플로의 입력으로 SQS 대기열 등은 넣을 수 X