Рейтинг:0

Значение конфигурации Apache 2.4 ProxyPass для балансировки нагрузки

флаг in

Я изучаю apache 2.4 и нашел эту конфигурацию в качестве примера. Чего я не понимаю, так это определения ProxyPass, они определили «balancer://cluster/example1/api», но в директиве Proxy есть только «balancer://cluster».

Что они сделали в этой конфигурации? Может ли кто-нибудь объяснить мне на каком-нибудь практическом примере?

<VirtualHost *:10000> 
    ProxyRequests Off
    ProxyTimeout 300
    ProxyPreserveHost On
    ProxyVia On
    <Proxy balancer://cluster>
        BalancerMember http://localhost:8888         
        ProxySet lbmethod=bytraffic
    </Proxy>    
    ProxyPass /content/sub1 balancer://cluster/example1/api  
</VirtualHost>
Martin avatar
флаг kz
Эта директива заставляет apache действовать как [обратный прокси](https://en.wikipedia.org/wiki/Reverse_proxy), что означает, что любой запрос к ```/content/sub1``` или ниже не будет обслуживаться с локальный html-документ, но будет передан на внутренний сервер, указанный в этой директиве ```ProxyPass```.
Luca avatar
флаг in
но он ссылается на балансировщик как на второй аргумент «balancer://cluster/example1/api».
Martin avatar
флаг kz
ну, вместо того, чтобы указывать обратный прокси на фиксированный внутренний сервер, вы можете использовать его в качестве балансировщика нагрузки: первый входящий запрос перенаправляется на внутренний сервер 1, второй запрос на внутренний сервер 2 и так далее.Таким образом, каждый внутренний сервер должен справляться только с частью общей нагрузки. В этом случае алгоритм балансировки, очевидно, представляет собой количество байтов, полученных каждым внутренним сервером.
Luca avatar
флаг in
Спасибо, Мартин, за объяснение, я очень ценю. Но чего я не понимаю, так это почему в ProxyPass они ставят "balancer://cluster/example1/api", когда в директиве Proxy у них есть ? Как ведет себя апач?
Luca avatar
флаг in
Я имею в виду, что происходит, когда они ставят вторым параметром ProyPass "balancer://cluster/example1/api" вместо "balancer://cluster", как определено в директива?
Martin avatar
флаг kz
это путь, к которому вы обращаетесь... любой URI, такой как ```http://www.example.com/questions/3456/my-document```, состоит из схемы доступа (http), имени сервера (www.example.com) и путь, к которому пытается получить доступ ваш браузер ( /questions/3456/my-document ). Это также верно для серверов с балансировкой нагрузки, поскольку они должны знать, какой документ доставлять!
Luca avatar
флаг in
О, хорошо, теперь я вижу, я думал, что второй параметр должен соответствовать URL-адресу в директиве прокси.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.