문제

나는 1 과정을 수신하는 수신의 연결 포트 1000 1 linux 서버입니다.그러나,1 개의 프로세스는 충분히 빠르게 처리하는 모든이 들어오는 요청을 합니다.

고 싶은 여러 프로세스를 실행하는 서버에서나 1 개 있습니다.에서 이 방법,클라이언트에서만 볼 1end-포인트/프로세스에 설정되었습니다.

체크인 LVS 및 기타 로드 밸런싱 솔루션입니다.이러한 솔루션 것을 향해 설치된 여러 서버 부하를 분산됩니다.

다른 솔루션을 제까요?


내가 찾는 것은 더 많은 같은 nginx 어디를 실행해야의 여러 복사본을 표시합니다.

Let me try it out.

도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

당신은 또한 가고 싶을 수도 있 웹 서버와 같이 nginx.를 로드할 수 있습니다의 균형을 응용에 대해 여러 포트의 같은 응용 프로그램으로 일반적으로 로드하는 데 사용되는 균형 Ruby on Rails 응용 프로그램(는 하나의 스레드).단점은 당신이 실행해야 하는 여러 개의 복사본 응용 프로그램(중 하나에 각 포트는)이를 위해 로드 밸런싱을 작동합니다.

다른 팁

는 질문에는 분명하지 않지만,나는 당신이 찾고있는 대답을 하나의 수락하는 프로세스 작업에서 네트워크 및 다음 분기 떨어져'노동자는 프로세스를 실제로 수행할 작업(반환하기 전에 결과를 사용자에게).

에서는 방식으로,작업 수행되지 않도록 승인의 요청이 있습니다.

당신은 지적으로,용어 로드 밸런싱을 수행의 의미는 여러 서버-당신은 무엇을 보이고 싶은 정보를 작성하는 방법에 대한 리눅스 네트워크는 데몬입니다.

두 kes 시스템 호출 당신이보고 싶은 라 포크 및 exec.

그것은 당신 같은 소리야를 통합하여 서버 xinetd.

이는 서버가 수신에 미리 정의된 포트(는 당신을 제어를 통해 구성)과 포크 off 프로세스를 처리하는 실제 통신에는 포트입니다.

당신은 필요한 다중처리 또는 multi-threading.지 않을 보시려에 서버의 세부 정보,그래서 나는 할 수 없습에 대한 조언을 줄이 무엇을 정확하게 하기 위하여.포크 및 exec 으로 매트 제안이 될 수 있는 솔루션이지만,정말:어떤 종류의 프로토콜/서버에 대해 얘기해 보겠습니다.

나는 생각하고 실행하는 여러 개의 유사한 응용 프로그램 ypops.

nginx 지지 않으면 멋진 새로운 웹 서버,아파치 2.2 모으로 proxy 분산을 할 것 같은 작업

아마도 수정할 수 있습니다 당신의 클라이언트 라운드 로빈 포트(말)1000-1009 및 실행 10 복사의 프로세스?

또 있어야 몇 가지의 방법으로 내부적으로 refactoring 니다.

그것이 가능한 여러 가지 프로세스를 들어 같은 소켓을 한번에는 그것을 열기 전에 호출 fork()하지만,(의 경우 TCP socket)면 동의()를 호출 결과 소켓 한 다음 그리고 어떤 과정을 성공적으로 받아들여 연결합니다.

그래서 본질적으로 사용할 수 있:

  • Prefork,당신이 오픈 소켓,포크가 지정된 숫자의 어린이는 부하를 공유할
  • Post-포크를,당신은 하나의 마스터 프로세스는지 모든 연결을과 포크 어린이를 처리하는 개별 sockets
  • 실 공유할 수 있습니다 소켓에서 어떤 방법으로 당신이 좋아하는 사람들과,같은 파일 기술자가 복제되지 않습니다,그들은 단지 사용할 수 있는 모든 실을 뀁니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top