2013-08-12 2 views
2

웹 소켓을 지원하는 3 대의 컴퓨터에서 웹 응용 프로그램을 실행 중이고 클라이언트가 그 중 하나에 연결하면 각 요청이 항상 동일한 컴퓨터로 이동하거나로드 밸런서가 보낼 수 있습니까? 그것은 다른 기계에?로드 밸런싱 웹 소켓 및 긴 폴링

기본적으로 웹 브라우저가 웹 소켓을 통해 연결되면로드 밸런서가 각 요청을 다른 서버로 보낼 수 있습니까?

그렇다면 어떤로드 밸런서가이 작업을 수행 할 수 있습니까?

또한 브라우저 호환성을 감지하고 적합한 프로토콜을 선택하는 분위기와 같은 프레임 워크를 사용하는 경우로드 균형 조정의 기회에 어떤 영향을 줍니까?

답변

3

핸드 셰이크가 HTTP 프로토콜을 통해 수행 된 후 basic description of websockets protocol on Wikipedia에 설명 된대로 영구적 인 정확한 서버와의 TCP 연결을 통해 다른 통신이 수행됩니다.

따라서 일반적인 HTTP 의미에서는 "요청"이없고 단지 2 개의 끝점 (서버 및 클라이언트)이 데이터를 교환합니다. 그래서 일반적인 의미의로드 밸런싱은 불가능합니다 (서버가 동시에 처리 할 수있는 동시 TCP 연결이 많기 때문에 일반적으로 필요하지 않습니다 -이 지점에 대한 좋은 토론 here). 이것이 websocket을 통해 전송되는 데이터가 올바른 서버 시스템 (예상되는 시스템)에서 항상 수신되는 이유입니다.

정말로 필요한 경우 위에 언급 된 게시물에 설명 된대로 L3로드 균형 조정기를 사용할 수 있습니다.

0

"기본적으로 웹 브라우저가 웹 소켓을 통해 연결되면로드 밸런서가 각 요청을 다른 서버로 보낼 수 있습니까?"

원하는 작업이면 가능합니다.

리버베드에는이를 수행 할 수있는 소프트웨어 부하 분산 장치가 있습니다. https://splash.riverbed.com/docs/DOC-1451