2012-10-05 1 views
0

BOSH (http-bind, http://xmpp.org/extensions/xep-0206.html) 서버의 부하 분산 장치로 사용되는 HAproxy 인스턴스가 있습니다. "roundrobin"로드 균형 조정 방법으로 실행 중이었지만 몇 가지 문제가 발생했습니다. 일부 인스턴스가 다운되면 모든 연결이 활성 인스턴스에 재배포됩니다. 사형 노드가 다시 나타나면 다른 인스턴스와 동일한 양의 연결이없고 동일한 리소스를 사용하지 않습니다. 다른 인스턴스가 다운되면 세션이 다시 재배포되며 일부 서버는 과부하가 걸리며 제한에서 실행중인 일부 서버는 다운되어 모든 서비스가 중단되고 모든 인스턴스를 순서대로 다시 시작해야합니다 세션이 고르게 재배포 될 수 있도록 노력하십시오.BOSH 연결을 처리하기 위해 HAproxy에서 "leastconn"을로드 균형 조정 방법으로 설정하는 것이 좋습니다.

HAproxy를 사용하여 BOSH로드 균형 조정을 구성하는 방법에 대해 읽은 적이 있는데이 책은 "JavaScript 및 jQuery를 사용한 전문 XMPP 프로그래밍"입니다. 이 책에서 저자는 우리에게 can use "leastconn" as balance method for Haproxy을 추천합니다.

HAproxy 설명서에는 HTTP 연결에 "leastconn"을 사용해서는 안되지만 매우 긴 세션이 필요한 곳에서는 사용해야한다고 나와 있습니다.

나는 서버가 다운 될 때이 밸런싱 방법이 도움이 될 수 있다고 생각한다. 활성 노드에서 세션을 동등하게 재분배 할 것이고 인스턴스가 다시 가동되면 모든 새로운 세션이이 인스턴스로 이동하게 될 것이다. 다른 서버와 세션 양이 같을 때까지

이런 종류의 구성에 경험이있는 사람이 있습니까? BOSH 연결의 균형을 맞추기 위해 어떤 HApoxy 설정 또는 튜닝을 추천합니까?

답변

1

세션이 길고 SMPP를 읽었을 때도있을 수 있습니다. 그러면 leastconn이 라운드 로빈보다로드 균형 조정 기능이 향상됩니다. 라운드 로빈은 매우 짧은 연결에 적합합니다.

건배

관련 문제