Балансировка нагрузки с помощью Apache


Приветствую тебя, дорогой читатель. В этой статье я хочу описать настройку Apache для балансировки нагрузки на несколько back-end серверов.
Для корректной работы понадобятся два модуля:

  • mod_proxy
  • mod_proxy_balancer
  • Пример конфигурации хоста:

    <VirtualHost *:80>
        ServerName mywebsite.com
        ProxyRequests On
        ProxyVia On
        <Proxy balancer://mycluster>
            BalancerMember http://192.168.1.50:80
            BalancerMember http://192.168.1.51:80
            BalancerMember http://192.168.1.51:80
        </Proxy>
        ProxyPass / balancer://mycluster
    </VirtualHost>

    Для того что бы включить "липкие сессии" или source балансировку, нужно привести конфиг к следующему виду:
    <VirtualHost *:80>
        ServerName mywebsite.com
        ProxyRequests On
        ProxyVia On
        Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
        <Proxy balancer://mycluster>
            BalancerMember http://192.168.1.50:80 route=1
            BalancerMember http://192.168.1.51:80 route=2
            BalancerMember http://192.168.1.51:80 route=3
            ProxySet stickysession=ROUTEID
        </Proxy>
        ProxyPass / balancer://mycluster
    </VirtualHost>

    Share Button
    (Visited 311 times, 3 visits today)

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *