2012-06-07 4 views
1

Мы планируем добавить второй лаковый сервер в нашу инфраструктуру.несколько лаковых серверов с haproxy

Что это лучший способ сбалансировать трафик, бросив два сервера? Я думаю, что мы можем использовать haproxy перед двумя серверами, но как настроить его для балансировки трафика между двумя лаками? Идеальное решение заключается в том, что если один лак падает, весь трафик переходит к другому.

Редактировать: Идеальное поведение является активным/активным conf, с 50% нагрузкой каждый, и если один снижается, haproxy отправляет 100% нагрузку на другой.

+0

Вы ищете конфигурации ведущие/ведомые для Лака (где только один активен на все раз) или где экземпляры 2 лака одновременно служат трафику одновременно? – 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 всегда будет сбалансирован с тем же лаковым лаком (пока он доступен). 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 
Смежные вопросы