2014-12-01 1 views
0

필요 : 클라이언트 용 음악을 다운로드 할 프록시 서버를 작성하십시오. 각 클라이언트가 20-200 개의 음악 작품 (400MB-4GB 음악)을 다운로드하려고하며 동시에 많은 사용자를 지원해야한다고 가정합니다.Node.js HTTP 프록시 아키텍처 : 클라이언트 용 데이터 대량 다운로드

문제 : 메인 이벤트 루프 또는 각 사용자에 대한 새 작업자 열기에 대해 서버 작성 방법에 대한 매우 다른 생각을 들었습니다.

내 과정 :

  1. 사용자가 서버가 데이터를
  2. 서버 다운로드 데이터를 다운로드하고 한 번에 클라이언트에 스트리밍 전달하는 요청

질문 :하나 개의 스레드 또는 내 요구를위한 많은 노동자? 왜?

답변

1

어쨌든 여러 명의 작업자가 tcp 연결 (주 스레드 차단)을 열어야하고 콜백이 주 스레드 대기열을 기다릴 것으로 가정합니다. HTTP 서버에 작업자가 많이 있습니까? 필자의 견해로는 HTTP 포트에 바인딩하는 여러 명의 작업자를 만들고 각 작업자를 프록시로 지정하는 것이 좋습니다. 앱이 이미 클러스터화된 경우 maby는 MQ + 프록시 클러스터를 사용하는 것이 타당합니다.

관련 문제