Netflix Maestro, 워크플로우 엔진 100배 빨라지다!
by DD
8개월 전
조회수 11
Maestro 엔진의 오버헤드를 대폭 줄여 100배 성능 향상을 달성함
기존 Conductor 기반 엔진을 자체 개발 엔진으로 전면 교체
메모리 기반 아키텍처 및 액터 모델 도입으로 57일 분량의 오버헤드 절감
메모리 기반 Flow Engine 설계
새로운 Flow Engine은 메모리 기반으로 설계되어 레이턴시를 대폭 줄였다. 구체적으로, 데이터베이스를 Single Source of Truth로 사용하여 일관성을 유지한다. 따라서, In-memory state를 통해 50ms의 Step launch overhead를 달성했다.
액터 모델 기반의 병렬 처리
새로운 엔진은 액터 모델을 활용하여 병렬 처리를 최적화했다. 가상 스레드를 사용하여 각 Workflow 및 Step을 처리하며, 메시지 기반 통신을 통해 폴링 지연 시간을 제거했다. 결과적으로 동시성 문제를 해결하고 전체 시스템 성능을 향상시켰다.
강력한 실행 보장 메커니즘
Generation ID 기반의 실행 보장 메커니즘을 통해 데이터 무결성을 확보했다. 단일 워커가 Step을 독점적으로 실행하도록 보장하며, State는 롤백되지 않는다. 결과적으로 Race Condition을 방지하고 워크플로우 안정성을 높였다.