0

ELB 뒤에있는 일련의 자동 크기 조정 인스턴스에서 많은 양의 오디오 파일을 코드 변환해야합니다. 코드 변환 스크립트의 핵심은 Node.Js 및 FFMPEG를 기반으로합니다. 사용자는 인내심이 없기 때문에 대기열에 넣을 수 없습니다! CPU 100 % 문제를 피하기 위해 각 인스턴스의 코드 변환 수를 제어해야합니다.각 인스턴스의 트랜스 코딩 프로세스 수를 기반으로하는 EC2 및 ELB에 대한 정책

내 질문 :

A- ELB는 각 인스턴스에 대한 연결의 수를 제어하기위한 정책을 정의 할 수있는 방법이 있습니까? 그렇지 않은 경우 각 인스턴스의 평균 CPU 사용률을 제어하고 트리거링 수준 후에 새 CPU를 추가하는 매개 변수가 있습니까? (나는 this 슬라이드를 찾았지만 완전하지는 않습니다.) 새로운 인스턴스가 얼마나 많은 시간이 걸리 느냐에 따라 새 인스턴스가 추가되는 경우 사용자에게 서비스를 제공하는 100 % 작동 인스턴스가됩니다 (자동 크기 조정에는 긴 대기 시간이 있습니까?)

B- 동일한 트랜스 코딩 솔루션을 얻기위한 또 다른 아키텍처가 있습니까? (나는 현재의 아이디어를이 대답에 그림으로 포함시켰다). Transcoding.com과 같은 타사 솔루션을 사용할 수 없습니다. 내 기본 솔루션이 필요합니다.

C- 각 인스턴스마다 node.js를 사용하고 사용자 브라우저에 소켓을 사용하여 진행 상황을 보여줍니다. 브라우저 측면에서 진행 정보를 얻기 위해 node.js 측에 정기적으로 아약스 요청을 보냅니다. 이 메커니즘은 끈적 세션에 문제가 있습니까?

감사합니다.

답변

1

AWS SDK를 사용하는 것이 좋습니다. 당신은 Node.js를에있어 때문에 일반적으로는 C#을 공식들 중 하나를 사용하십시오, 루비 등, 인스턴스 연결 풀 등, 스로틀을 모니터링하고 만들 GitHub의에서이 SDK를 사용해보십시오

https://github.com/awssum/awssum

당신의 스케일링 서버에서 개별 요청 (즉, 하나의 요청이 원하는 기간에 실행하는 기계의 X 번호 필요)에 대한 응답으로 이루어질 필요가있는 경우

있다 또한, 다음 자동 확장은 아마도

https://github.com/SaltwaterC/aws2js

1

을 AWS2JS 너와 같이 너에게 해답이되지 않을거야. 새 인스턴스가 활성화 될 때까지 지연됩니다. 또한 개별 요청에 따라 여러 번 확장하고 시간을 정하는 등의 방식으로 서비스를 실행하는 데 드는 비용이 훨씬 더 높을 수 있으므로 시작되는 각 인스턴스에 대해 최소 1 시간 동안 요금이 부과됩니다.

예를 들어 요청 규모가 급증 할 때 (예 : 많은 요청을 처리하는 서버가 이미 많지만 최대 대기 시간 동안 함대를 50 % 늘리거나 대기 시간을 줄여야하는 등) 더 많은 인스턴스를 추가하여 최고 시간대), 자동 확장 기능이 제대로 작동해야합니다.

이러한 경우 스케일링 이벤트를 제어하기 위해 설정할 수있는 트리거가 여러 개 있습니다.

ELB는 세션 선호도 ("sticky"세션)를 지원합니다.