Topic

Temporal Workflow

JackerLab 2025. 5. 5. 16:09
728x90
반응형

개요

Temporal은 복잡한 분산 시스템에서 신뢰성과 확장성을 보장하며, 상태 기반 워크플로우를 코드로 정의할 수 있도록 하는 워크플로우 오케스트레이션 플랫폼입니다. 마이크로서비스, 배치 처리, 이벤트 기반 프로세스 등 다양한 환경에서 복잡한 업무 로직을 안정적으로 실행할 수 있는 구조를 제공합니다.


1. 개념 및 정의

Temporal은 개발자가 워크플로우를 코드로 작성하고, 장애 발생 시에도 자동 재시도, 상태 유지, 보상 로직 실행 등을 가능하게 해주는 분산형 워크플로우 엔진입니다.

  • 목적: 마이크로서비스 간 복잡한 작업 흐름을 신뢰성 있게 연결
  • 필요성: 실패 복구, 상태 추적, 장기 실행 작업 등 전통적 시스템 한계 극복
  • 배경: Uber의 Cadence 프로젝트에서 분기, 현재는 독립 프로젝트로 오픈소스 운영 중

2. 특징

특징 설명 비고
코드 기반 워크플로우 워크플로우를 코드로 정의 언어별 SDK(Java, Go, TypeScript 등) 제공
내구성 있는 상태 저장 상태를 안정적으로 지속 저장 장애 발생 시 자동 재시작 가능
자동 재시도 및 타임아웃 작업 실패 시 자동 재시도 백오프 전략 포함
장기 실행 지원 수시간~수개월 지속되는 작업 관리 가능 배치, 대기, 사용자 입력 포함

기존 BPM(Business Process Management) 도구들과 달리, 개발자 친화적인 코드 중심 접근이 특징입니다.


3. 구성 요소

구성 요소 설명 예시
Workflow 장기 실행 가능한 비즈니스 로직 정의 주문 처리, 대금 결제 승인 등
Activity 워크플로우에서 실행되는 개별 작업 이메일 발송, 결제 요청 등
Temporal Server 상태 저장 및 실행 스케줄 관리 Cassandra, MySQL, Elasticsearch 연동
Worker 워크플로우 및 액티비티 실행 단위 다수 배포 가능, 수평 확장 지원

워크플로우와 액티비티는 일반 함수처럼 작성되며, 복잡한 제어 흐름을 명확하게 표현할 수 있습니다.


4. 기술 요소

기술 요소 설명 관련 기술
Durable Execution 장애 복구 및 재시작 자동화 State Machine + 이벤트 소싱 방식
Backoff Retry 지수적 백오프 기반 재시도 커스텀 재시도 정책 설정 가능
External Signals 외부 이벤트 수신 및 처리 사용자 승인 등 외부 입력 처리 가능
Query Workflow 실행 중인 워크플로우 조회 실시간 상태 점검 가능

이러한 기능은 시스템 안정성과 운영 효율성을 동시에 확보하게 합니다.


5. 장점 및 이점

장점 설명 기대 효과
높은 신뢰성 작업 중단 없이 이어서 실행 장애 복구 비용 절감
유연한 제어 흐름 조건, 분기, 반복 등 로직 구성 용이 복잡한 비즈니스 로직 처리 가능
운영 자동화 재시도, 대기, 보상 로직 등 자동화 운영 부하 감소
개발자 친화성 코드 기반 정의로 생산성 향상 기존 코드와 통합 용이

특히 업무 특성상 복잡한 상태 전이와 외부 시스템 연계를 필요로 하는 시스템에 적합합니다.


6. 주요 활용 사례 및 고려사항

활용 사례 설명 고려사항
주문 처리 시스템 복수 API 호출 및 승인 로직 비정상 종료 시 복구 설계 필요
결제 처리 흐름 보상 트랜잭션 포함 로직 시나리오별 복잡도 고려 필요
이메일 캠페인 스케줄링 수일 간격의 반복 발송 타이밍 제어 및 중단 조건 정의 필요
사용자 승인 기반 프로세스 사용자 입력을 기다리는 흐름 타임아웃/대기 상태 처리 전략 필요

워크플로우의 상태 및 히스토리를 잘 관리하는 것이 신뢰성 확보의 핵심입니다.


7. 결론

Temporal은 복잡하고 상태 기반의 분산 시스템을 구축할 때 신뢰성과 확장성, 개발 생산성을 동시에 확보할 수 있는 최적의 워크플로우 오케스트레이션 플랫폼입니다. 이벤트 중심 아키텍처, 마이크로서비스 통합, 장기 실행 작업 자동화 등 다양한 요구사항을 충족하며, 실제 운영 환경에서의 적용 가치가 매우 높은 솔루션입니다.

728x90
반응형

'Topic' 카테고리의 다른 글

Route Origin Validation(ROV)  (1) 2025.05.05
RPKI(Resource Public Key Infrastructure)  (1) 2025.05.05
Reactive Programming(리액티브 프로그래밍)  (1) 2025.05.05
Event Storming  (0) 2025.05.05
Onion Architecture  (0) 2025.05.05