Назад | Перейти на главную страницу

Почему для настройки балансировщиков нагрузки уровня 7 не требуется никаких изменений конфигурации клиента?

Например, для haproxy (уровень 7) балансировка нагрузки, вам нужно только настроить «реальные серверы» или «бэкэнды» за VIP (то есть IP-адрес кластера). Например.:

listen smtp 192.168.3.10:25
        mode tcp
        balance roundrobin
        server smtp1 192.168.3.1:25 check
        server smtp1 192.168.3.2:25 check

Однако с lvs (слой 4), мне нужно:

  1. Установить lvs машина в качестве маршрутизатора для реализации "NAT-маршрутизации"
  2. В lvs машина и бэкэнды имеют VIP, настроенный с некоторыми модами ARP на бэкэндах

Как балансировка нагрузки на уровне 7 справляется с этим без более сложной конфигурации? Я неправильно понимаю или упускаю что-то фундаментальное?

С LVS ваш сетевой трафик по существу идет от клиента напрямую к вашему внутреннему серверу. Использование третьего хоста (полупрозрачно) здесь не является нормальной конфигурацией сети, поэтому его довольно сложно реализовать.

С помощью haproxy ваш сетевой трафик идет от клиента к haproxy, а затем haproxy к серверу. Что касается сервера, haproxy - это просто еще один клиент. Это обычная сетевая установка, поэтому для настройки нет сложности сетевого уровня (хотя есть сложность уровня 7, например, заголовки X-Forwarded-For). Это также означает, что ваша машина haproxy является SPOF и должна иметь возможность обрабатывать общий трафик на ваш сайт.