2016-12-20 4 views
1

haproxy 노드 자체를 수평 확장하는 방법은 무엇입니까? 내가 아키텍처는 아래에 따라 어느 하나의 응용 프로그램을 데으로

users ----> Haproxy load balancer(TCP Connection) -> Application server 1 
                -> Application server 2 
                -> Application server 3 

지금 내가 응용 프로그램 서버에서 규모 확장 할 수 있어요. 그러나 높은 TCP 연결 (약 10000 TCP 연결)으로 인해, 내 haproxy로드 밸런서 노드 RAM이 가득 차서 더 많은 TCP 연결을 얻을 수 없습니다. 따라서 happroxy 자체에 노드를 하나 더 추가해야합니다. 그래서 내 질문은 haproxy 노드 자체를 확장하는 방법 또는 동일한 다른 솔루션이 있습니까?

AWS에서 응용 프로그램을 배포하고 있습니다. 당신의 해결책은 높게 평가됩니다.

감사합니다, Mayank

답변

2

사용 AWS Route53 및 CNAME이 당신의 haproxy 인스턴스를 가리키는 만들 수 있습니다. 예를 들어

:

는 INSTANCE1을 haproxy를 가리키는 CNAME haproxy.example.com을 만듭니다. haproxy instance2를 가리키는 두 번째 CNAME haproxy.example.com을 만듭니다.

두 CNAME 모두 일종의 라우팅 정책을 사용해야합니다. 가장 단순한 것은 아마도 라운드 로빈입니다. CNAME 목록을 회전하면됩니다. haproxy.example.com을 조회하면 두 인스턴스의 주소를 모두 얻을 수 있습니다. 반환되는 ips 순서는 요청마다 변경됩니다. 그러면 두 인스턴스간에로드가 균등하게 분산됩니다.

는 필요에 따라 더 많은 옵션이 있습니다 http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html

점수는이 구성이 매우 용이하다.

관련없는 몇 가지 문제 : 필요한 경우 건강 상태를 설정하고 나머지 건강한 인스턴스로 트래픽을 라우팅 할 수도 있습니다. 두 인스턴스가있는 용량에서 실행중인 경우 실패한 인스턴스에 대처할 수있는 방법을 몇 가지 더 추가 할 수 있습니다.