솔루션과 구조¶
솔루션의 핵심 시나리오인 실시간 변환구조를 기반으로 문제분석 의 내용을 극복할 수 있을 뿐만 아니라 비용관점 의 최적화가 가능하다.
Important
스토리지에 저장된 원본 비디오로부터 클라이언트가 원하는 구간과 해상도의 비디오를 실시간 생성한다.
레거시 구조를 유지한채 점진적으로 안정성을 확보, 전면도입까지의 과정을 알아보자.
Note
디테일한 비디오 가공은 transcoder 비디오 엔진의 How to use 를 참고한다.
레거시 구조¶
일반적인 비디오 서비스 플로우는 아래와 같다.
기존 백엔드 비디오 처리 프로세스를 수정하지 않고 도입할 수 있어야 한다.
비디오 SaaS¶
비디오 SaaS를 이용할 수 있다.
이런 경우 기존 URL은 유지한채 도메인만 변경하는 것으로 마이그레이션이 가능하다.
만약 스토리지에 원본 비디오가 존재하지 않는다면 마이그레이션동안 비디오 SaaS를 원본으로 연결가능하다.
도입 구조¶
M2Live
는 로드밸런서
과 비디오가 저장된 스토리지
사이에 위치한다.
Note
urlRewrites 모듈을 이용하면 어떠한 레거시 호출규격이라도 transcoder 비디오 엔진규격으로 변환이 가능하다.
테스트 구조¶
테스트 목적이라면 라이브 서비스 백엔드에 넣지 않고 타겟 사용자만 hosts
파일 변조등을 통해 접근한다.
부분도입 구조¶
전면도입 이전 안정성을 검증하고 싶다면 로드밸런서
를 통해 트래픽을 분산시킬 수 있다.
프로덕션 구조¶
프로덕션에서는 모든 비디오 트래픽이 유입/처리되며 CDN에 응답시 캐싱 정책을 구성할 수 있다.
레거시 시스템은 이제 불필요하여 제거한다.
Scale Out & Fail Over¶
서비스 규모에 맞추어 M2Live
노드를 증설한다.
스토리지
사이에 로드밸런서
를 추가할 수도 있지만 M2Live
에는 이미 L7과 동등한 수준의 원본 health 감지 기능이 탑재되어 있어 없어도 무방하다.
대규모 서비스에서는 분산처리를 위해 2-Tier 구조 가 도입되기도 한다.
Note
일반적으로 스케일 업은 32코어까지만 권장하며 이후는 스케일 아웃을 권장한다.
확장과 통합¶
이미지 서비스와 비디오를 완전히 통합할 수 있다.
Note
두 서비스는 도메인 또는 URL 패턴/키워드로 구분된다.
또는 이미지 서비스의 확장과 통합 구조를 동일하게 구성할 수 있다.