
오픈소스 중단 선언 뒤에서 일어난 Cassandra 이전과 파티션 데이터 모델 기반의 압도적 성능 혁신
넷플릭스는 Conductor OSS 공개 지원을 종료한 후 내부 시스템을 완전히 처음부터 재건축했습니다. 미디어 제작, 광고, 게임 등 글로벌 서비스 전반으로 확장되는 동시성 요청을 소화하기 위해 데이터 플레인을 현대화하고 평가 엔진을 비동기화했습니다. 이 글은 동기식 락 경합을 제로로 만들고 10배 이상의 스케일아웃을 달성한 넷플릭스 엔지니어링의 정수를 보여줍니다.
대규모 미로형 미크로서비스 아키텍처에서 동기식 작업 스케줄링 병목과 데이터베이스 락 경합으로 고통받는 백엔드 및 인프라 엔지니어에게 적극 추천합니다.
넷플릭스의 워크플로 오케스트레이션 엔진인 Conductor는 초당 대규모 워크플로를 처리하며 기존 Dynomite 기반 메모리 저장소의 메모리 한계, 동기식 평가 엔진으로 인한 잠금 경합, 단일 파티션 데이터 모델의 메모리 압박 문제에 직면했습니다.
실행 데이터를 Cassandra로 이전하고 고성능 우선순위 큐 Timestone을 도입했으며, Conductor 4.0 재설계를 통해 워크플로 메타데이터와 태스크 데이터를 분리한 파티션 데이터 모델 및 Timestone 기반 비동기 평가 엔진을 도입했습니다.
단일 워크플로당 처리 가능한 최대 태스크 수가 2,500개에서 30,000개로 10배 이상 증가하였고, p99 워크플로 평가 지연 시간이 약 40% 감소했으며 잠금 획득 실패 현상이 사실상 0건으로 감소했습니다.
Trade-off
오픈소스 프로젝트(Conductor OSS) 지원을 중단하고 내부 포크에 전념하게 되었으며, 전용 인프라(Cassandra, Timestone, Titus, Stratum)에 대한 의존성이 깊어져 시스템 전체의 아키텍처 복잡성이 증가했습니다.
넷플릭스가 자체 개발한 고성능, 저지연 우선순위 큐 시스템입니다. 기존 DynoQueues를 대체하며 지연 큐잉 및 백그라운드 자가 복구 메커니즘을 제공합니다.
워크플로의 메타데이터와 개별 태스크 데이터를 분리하여 저장하는 새로운 데이터 구조입니다. 전체 상태 그래프를 읽지 않고 블루프린트와 필요한 태스크만 메모리에 로드합니다.
이벤트 트리거 시 동기적으로 워크플로 락을 잡고 평가하던 방식 대신, 이벤트를 큐에 넣고 비동기 평가기가 순차 처리하도록 분리한 아키텍처 패턴입니다.




