Netflix, 라이브 스트리밍 성능을 위한 비결 공개!
Netflix Live Origin은 AWS EC2 기반의 마이크로서비스로, 라이브 스트리밍 파이프라인의 핵심 역할을 수행함
Open Connect와의 연동을 위해 nginx의 프록시 캐싱 기능을 확장하고, 세그먼트 템플릿 기반의 매니페스트 디자인을 채택함
오리진 서버의 메타데이터 캐싱 및 오리진 마스크 기능을 통해 스트리밍 품질을 개선하고, 404/410 에러를 효율적으로 처리함
Netflix Live Origin의 핵심 아키텍처
Netflix Live Origin은 AWS EC2 인스턴스에서 실행되는 마이크로서비스로, 라이브 스트리밍 파이프라인의 업스트림과 Open Connect CDN 사이에서 중개자 역할을 수행한다. 구체적으로, 세그먼트 템플릿 기반의 매니페스트를 활용하여 지속적인 세그먼트 게시 일정을 예측하고, 404/410 에러를 효율적으로 처리한다.
Open Connect 최적화를 위한 nginx 확장
Netflix는 nginx의 프록시 캐싱 기능을 확장하여 Live 스트리밍에 특화된 기능을 구현했다. 따라서 밀리초 단위의 캐싱을 추가하여 HTTP Cache Control의 한계를 극복했다. 반면, 세그먼트 템플릿을 활용하여 Open Connect에서 불필요한 요청을 줄이고, 오리진 마스크를 통해 문제 있는 세그먼트를 필터링한다.
고가용성 및 성능을 위한 스토리지 설계
Netflix Live Origin은 고가용성(HA) Write를 위해 설계되었으며, 500ms 이내의 쓰기 실패를 버그로 간주한다. 구체적으로, 메타데이터 캐싱을 통해 404 폭주를 방지하고, 오리진 마스크를 통해 스트리밍 품질을 향상시킨다. 따라서 데이터 무결성과 서비스 안정성을 동시에 확보한다.