본문 바로가기

Cloud & Backing services/Distributed System

(6)
Netflix Open Connect에서 인기 콘텐츠 관리 방법 Netflix의 Open Connect 콘텐츠 딜리버리팀은 콘텐츠의 인기도를 예측하여 인프라 효율을 극대화 하려고 합니다. Content Delivery관점에서는 시청 횟수로 인기 콘텐츠를 판별합니다. 즉, 스트리밍된 총 바이트 수를 Asset의 크기(byte)로 나누어 계산합니다. 그럼, 콘텐츠와 CDN 최적화는 어떤 관계가 있을까요? 일반적으로 CDN에서는 짧은 네트워킹 경로를 통해 최대한 많은 콘텐츠를 제공하려고 합니다. 네트워크 대기시간을 줄임으로써 사용자들의 스트리밍 환경을 극대화 할 수 있기 때문입니다. 서버당 사용할 수 있는 디스크 공간이 제한되어 있으므로 모든 Edge Server에 모든 콘텐츠를 넣을 수가 없습니다. 따라서 가장 많이 사용되는 콘텐츠만 Cache하게 됩니다. Netflix..
OCA(Open Connect Appliance)에서 100Gbps 서비스 본 글은 Netflix Tech 블로그의 내용을 번역한 내용입니다. (관심 있는 부분만…) 원문: https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99 2015년 여름, Netflix Open Connect CDN팀은 NVM Express(NVMe) 스토리지 기반의 단일 FreeBSD OCA에서 100Gbps 속도로 서비스 할 수 있도록 100GbE 네트워크 인터페이스 기술을 활용하는 프로젝트를 수행하기로 결정 했습니다. Fake NUMA(Non-uniform Memory) OCA의 경우 대부분의 콘텐츠는 디스크에서 제공되며 인기있는 타이틀 10–20%만 메모리에서 제공됩니다. 초기의 ..
Intelligent Caching and Packaging in an ABR Multi-format CDN 2012년에 나왔던 자료인거 같은데… 이전에 작성한 “Netflix, 그들의 콘텐츠 서비스 방식(Netflix and Fill)” 과 연관이 있어 보인다. VOD를 처음 시작할때는 Caching이 필요하지 않았다. VOD가 초기 단계에 있었을 때 하나의 중앙 서버가 전체 노드를 지원했었고 콘텐츠는 SD 포맷으로만 제공 되었다. 한곳에서 콘텐츠를 관리했기에 Caching이 필요하지 않았다. VOD가 많아짐에 따라 Caching이 필요하게 되었다. LRU는 지능형 Caching으로 진화했다. Caching은 미래 행위를 예측하기 위해 과거 행위를 이용하려는 예측 활동이다. Caching은 삭제해야 할 콘텐츠를 결정하는 것이 중요하다. LRU는 사용 패턴에 관계없이 가장 오래동안 사용하지 않은 콘텐츠를 제거한..
Netflix, 그들의 콘텐츠 서비스 방식 (Netflix and Fill) 본 글은 넷플릭스의 Tech블로그의 내용과 개인적인 의견을 포함하여 작성했습니다. (참조: https://medium.com/netflix-techblog/netflix-and-fill-c43a32b490c0) 새로운 콘텐츠가 출시 되면 CP(Content Provider)로부터 넷플릭스내의 콘텐츠 운영팀으로 Digital Asset이 전달 됩니다. 이 과정에서 Netflix Platform에 통합하기 위해 필수적인 품질관리, 인코딩등 다양한 유형의 처리 및 개선이 이루어집니다. 이 단계가 끝나면 관련 Digital Asset (Bitrate, Caption)이 다시 패키징되어 Amazon S3에 배포 됩니다. 배포 준비가 된 S3의 콘텐츠는 콘텐츠 운영팀에 의해 metadata flag가 지정되며, 이..
Apache Storm 테스트 저번에 설치한 Apache Storm을 가지고 몇 가지 테스트를 진행하였다. 굳이 테스트를 진행하지 않고도 결과는 예측이 가능했지만…., #테스트 목적 Spout, Bolt가 Single node일 경우 Sequential이 보장되는가? Spout, Bolt가 Parallel node일 경우 Sequential이 보장되는가? 우선, 테스트를 위해 JsonFormatterBolt, DataMapperBolt, ResultBolt와 SingleTopology, ParallelTopology 클래스를 만들었다. 결론은 생각한바와 같이 Single worker 작업시에만 Sequential을 보장한다. 소스는 이곳을 참조
Apache Storm 설치하기 프로젝트에서 Apache Storm을 활용할 부분이 생겨서 기능 검증이 필요한 시점이다. AWS에 Apache Storm을 설치한 과정을 정리하고자 한다. EC2의 Instance Type 및 용도는 아래와 같다. Zookeeper #1 + Nimbus + Supervisor + Storm UI Zookeeper #2 + Supervisor Zookeeper #3 + Supervisor #공통 (Each Node) 각 Instance에 JDK를 설치한다. $sudo apt-add-repository ppa:webupd8team/java$sudo apt-get update $sudo apt-get install oracle-java8-installer #Zookeeper Cluster 설치 (Each No..