지속 실행 엔진: 분산 트랜잭션에서 Temporal까지

2025-05-23

이 글에서는 지속 실행 엔진(Temporal 등)의 진화 과정을 초기 데이터베이스 트랜잭션, 분산 트랜잭션, 장애 허용형 RPC/마이크로서비스 아키텍처를 바탕으로 살펴봅니다. 저자는 Jimmy Bogard의 "Six Little Lines of Fail" 예시를 분석하여 트랜잭션 롤백 및 재시도 메커니즘 등 서비스 간 함수 호출 처리의 과제를 강조합니다. 분산 트랜잭션(2단계 커밋 등)의 한계를 검토하고 JSR-95(활동 서비스) 및 웹 서비스 표준(WS-AtomicTransaction 등)에서의 자바 시도를 살펴보며, 최종적으로 이러한 제한적인 채택을 지적합니다. 최근 부상한 마이크로서비스 아키텍처와 관련된 장애 허용 메커니즘, 이벤트 소싱, 오케스트레이션, 안무에 대해서도 분석합니다. 마지막으로 Temporal, Restate, DBOS 등 최신 지속 실행 엔진의 차이점을 비교하여 작동 모드, 데이터 저장 방식, 서버리스 아키텍처와의 통합 등을 설명하고 분산 시스템의 신뢰성 문제 해결에 대한 중요성을 강조합니다.

더 보기
개발