넷플릭스, 데이터 처리 플랫폼 오픈소스로 공개

가 +
가 -

매 초마다 150만건에 이르는 이벤트 처리 발생, 하루에 발생하는 데이터 처리 기록, 로그 메시지, 사용자 활동기록, 시스템 작동 데이터가 800억개 이상. 미국 최대 동영상 스트리밍 서비스 업체 넷플릭스가 실시간으로 쏟아내는 데이터 트래픽이다.

무수하게 쏟아지는 데이터를 처리하기 위해 넷플릭스는 스스로 데이터 처리 플랫폼을 만들어 12월10일 오픈소스로 공개했다. 플랫폼 이름은 ‘수로’다. 수로는 분산된 애플리케이션 서버에서 일어나는 이벤트 데이터를 수집해 하둡과 같은 데이터 저장소에 보내주는 플랫폼이다.

넷플릭스는 아파치 척와에서 힌트를 얻어 수로를 개발했다. 아파치 척와는 분산돼 있는 서버에서 로그 데이터를 수집해 저장하고 분석하는 오픈소스 플랫폼이다. 수집된 로그 파일은 하둡 파일시스템에 저장되며, 저장된 데이터는 실시간으로 분석할 수 있다.

suro_architecture

수로는 이 아파치 척와에 뿌리를 두고 있다. 수로는 넷플릭스 애플리케이션 서버에서 생성되는 데이터를 수집해 데이터 성격에 맞춰 분류한다. 배치 처리용 데이터는 배치용 저장소로, 실시간 분석이 필요한 데이터는 실시간 데이터 분석을 할 수 있는 저장소로 보낸다.

넷플릭스는 “아마존웹서비스(AWS)나 넷플릭스 데이터센터 내 애플리케이션 서버에서 생성된 데이터는 수로를 타고 아마존 클라우드 스토리지 서비스인 S3를 거쳐 하둡에 저장되거나 아파치 카프카를 거쳐 스톰, 엘라스틱 서치, 드루이드로 전송된다”라며 “평범한 이벤트 처리 데이터는 이벤트 처리 저장소로 실시간 보내진다”라고 설명했다.

suro-internal

넷플릭스는 애플리케이션에서 발생한 에러를 자동으로 찾아내 10분 안에 애플리케이션 관리자에게 경고 메시지를 보낼 수 있다. 수로를 통해 실시간으로 애플리케이션에 발생한 데이터를 분석한 덕이다.

넷플릭스는 “앞으로 수로를 더욱 발전시켜 수로를 전용 클라이언트와 수로 기술이 녹아든 서버를 개발할 예정”이라며 “더 빠르고 손쉽게 실시간으로 데이터를 나누고 처리할 수 있게 기능을 개선해 나갈 것”이라고 밝혔다.