2012-01-17 5 views
3

비디오 서버의로드 균형을 조정하는 방법을 알기 위해 triyng입니다. 실제 시나리오는 다음과 같습니다.로드 밸런싱을 사용하여 주문형 비디오를 스트리밍하는 방법

내 모든 비디오 파일을 저장하는 스토리지 서버가 있는데,개의 서버가 내 http 요청의로드 균형을 조정합니다 (CDN 서비스처럼 작동 함). 클라이언트가 비디오 파일을 요청합니다 -> 가장 가까운 부하 분산 서버 LBS -> 저장소 (비디오를 찾고 클라이언트에 첫 번째 N KB를 보내기 시작하므로 재생 시작) -> LBS가 나머지는 파일을 자체 저장소에 저장하고 다음 요청시 저장소가 아닌 캐시에서 직접 을 제공합니다.

이 설정의 문제는 RTMP를 통해 비디오를 제공하지만 balancing 컴퓨터 (해당 nginx 웹 서버)에서 rtmp 스트림과 같은 가상 파일을 제공 할 수 없습니다.

짧은; 나는 nginx 웹 서버와 같은 역할을하는 rtmp 서버 구현을 찾고 있습니다. 어떤 아이디어, 충고도 좋습니다.

참고 : 현재 내가 crtmpserver에게 핸들 정적 파일에 대해 생성

답변

3

당신은 nginx_rtmp 모듈을 사용할 수 있습니다 ... 그것은 RTMP 스트림으로 지원 스트림 FLV 파일을 (그리고 트랜스 코딩 RTMP 스트림, 너무 HLS에 RTMP를 재 포장)

참조 문서에 대한 : https://github.com/arut/nginx-rtmp-module/

J

+1

당신이 맞아요, 2 개월 동안 nginx rtmp 모듈을 사용하고 있으며, 정말 성공적입니다. 답변 해 주셔서 감사합니다. – cia

1

의 nginx를 구현하기 위해 노력하고 있습니다.

rtmp streamig 및 balansing의 경우 erlyvideo 서버를 사용하십시오. 로드 밸런싱 (load balancing)은 디자인에 의해 만들어 지므로 erlang으로 작성되었습니다.

+0

nginx는 더 이상 rtmp를 처리 할 수 ​​있습니다. nginx_rtmp_module을 확인하십시오. – cia

+0

이 모듈은 알지만이 모듈은 사용자 정의하기가 어렵습니다. 나는 hiload 프로젝트를위한 erlang 기반의 솔루션을 선호한다. – nk9