Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 2.67 KB

File metadata and controls

67 lines (55 loc) · 2.67 KB

Домашнее задание к занятию 2 «Кластеризация и балансировка нагрузки»

Задание 1

Запустите два simple python сервера на своей виртуальной машине на разных портах
Установите и настройте HAProxy, воспользуйтесь материалами к лекции по ссылке
Настройте балансировку Round-robin на 4 уровне.
На проверку направьте конфигурационный файл haproxy, скриншоты, где видно перенаправление запросов на разные серверы при обращении к HAProxy.

Ответ:

HAProxy.cfg

global
    daemon
    maxconn 256

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http
    bind *:80
    default_backend servers

backend servers
    balance roundrobin
    server server1 localhost:8888 check
    server server2 localhost:9999 check

Задание 2

Запустите три simple python сервера на своей виртуальной машине на разных портах
Настройте балансировку Weighted Round Robin на 7 уровне, чтобы первый сервер имел вес 2, второй - 3, а третий - 4
HAproxy должен балансировать только тот http-трафик, который адресован домену example.local
На проверку направьте конфигурационный файл haproxy, скриншоты, где видно перенаправление запросов на разные серверы при обращении к HAProxy c использованием домена example.local и без него.

Ответ:

HAProxy.cfg

global
    daemon
    maxconn 256

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:80
    acl host_example_local hdr(host) -i example.local
    use_backend backend_example_local if host_example_local

backend backend_example_local
    balance roundrobin
    mode http
    option http-server-close
    server server1 127.0.0.1:7777 weight 2 check
    server server2 127.0.0.1:8888 weight 3 check
    server server3 127.0.0.1:9999 weight 4 check