2012-06-07 3 views
1
)

우리 인프라에 두 번째 바니시 서버를 추가 할 계획입니다.여러 개의 바니시가있는 서버 (

트래픽 균형을 조정하여 두 서버를 버리는 것이 더 좋은 방법은 무엇입니까? 우리는 두 개의 서버 앞에서 haproxy를 사용할 수 있다고 생각하지만, 2 개의 니스 사이의 트래픽을로드 밸런싱하도록 구성하는 방법은 무엇입니까? 이상적인 해결책은 하나의 바니시가 떨어지면 모든 트래픽이 다른 바니시로 이동한다는 것입니다.

편집 : 이상적인 행동은 활성/활성 conf이며 각각 50 %의 부하가 걸리며 하나가 다운되면 haproxy가 다른 부하로 100 %의 부하를 보냅니다.

+0

것은 당신이 니스의 마스터/슬레이브 구성을 찾고 있다면 (여기서 하나는 모든 활성 시간) 또는 2 개의 Varnish 인스턴스가 동시에 트래픽을 처리하는 위치는 어디입니까? – Mojah

+0

활성/활성 이상 conf가있는 편집 된 질문입니다. –

답변

0

제가 생각해 낸 아이디어는 두 개의 백엔드를 사용하고 각각 백업 된 다른 서버를 백업으로 사용하므로 서버가 다운되었을 때 모든 요청이 살아있는 서버로 이동합니다.

frontend http-in 
    acl my_acl <whaever acl to split the traffic> 
    use_backend varnish2 if my_acl 
    default_backend varnish1 

backend varnish1 
    mode http 
    option httpchk GET /check.txt HTTP/1.0 
    server varnish1 192.168.222.51:6081 check inter 2000 
    server varnish2 192.168.222.52:6081 check inter 2000 backup 

backend varnish2 
    mode http 
    option httpchk GET /check.txt HTTP/1.0 
    server varnish2 192.168.222.51:6081 check inter 2000 
    server varnish1 192.168.222.52:6081 check inter 2000 backup 
1

또 다른 옵션은 같은 백엔드 모두 니스 인스턴스를 넣어 수 있지만 URI 또는 ​​매개 변수에 의해 균형을 요청합니다.

이렇게하면 같은 uri가 항상 동일한 광택 캐시 (항상 사용 가능할 때)와 균형을 유지하므로 동일한 백엔드에서 활성 상태를 유지하면서 높은 캐시 적중률을 유지할 수 있습니다. Balace uri는 해싱 할 때 사용할 선택적 매개 변수 길이를 사용합니다.

Heres는 빠른 예 :

프론트 엔드 HTTP-에 ACL의 my_acl use_backend 광택 my_acl이

backend varnish1 
    mode http 
    balance uri 
    option httpchk GET /check.txt HTTP/1.0 
    server varnish1 192.168.222.51:6081 check inter 2000 
    server varnish2 192.168.222.52:6081 check inter 2000 
관련 문제