Вдохновленный сетью Stack Overflow, я теперь одержим HAProxy и пытаюсь использовать его сам.
На данный момент у каждого бокса HAProxy есть две сетевые карты (ну, две настроены, у меня может быть максимум 4, и я не был уверен, нужна ли им собственная карта для управления между боксами).
На обеих машинах бэкэнд (eth1) - это частный IP-адрес, который передается на коммутатор, подключенный к веб-серверам, а передний (eth0) имеет общедоступный интернет-IP, который маршрутизируется напрямую.
Кроме того, я создал дополнительный виртуальный ip для eth0 под названием eth0:0
у которого есть третий публичный IP-адрес.
Я почти понимаю, как использовать его для балансировки нагрузки между несколькими веб-серверами, которые находятся за ним, но я не могу сбалансировать нагрузку между двумя блоками HAProxy - они, похоже, борются за виртуальный IP-адрес, но это не похоже на быть умным решением.
Теперь, используя виртуальный общий IP-адрес, это решение, похоже, работает и, похоже, дает мне максимальное время безотказной работы, но это правильный способ сделать это или есть более разумный способ?
Я смотрел другие пакеты Linux, такие как keepalived, но я использую Linux (сервер) всего неделю и нахожусь на пределе своего понимания.
Есть ли кто-нибудь, кто делал это раньше, и вы можете что-нибудь посоветовать для максимального времени безотказной работы?
Если вы хотите сбалансировать нагрузку трафика между двумя разными хапрокси, вам нужно иметь перед ними другой балансировщик нагрузки, и это не будет полезно.
Если вам нужна более высокая доступность, вы уже получили ее, используя два haproxies и VIP, назначенный одному из них с помощью keepalived или heartbeat. Обычно это решение проблем высокой доступности и балансировки нагрузки.
Я могу придумать один способ использовать два хапрокси одновременно. Вы можете настроить keepalived для назначения по одному VIP каждому серверу haproxy. Балансировка нагрузки может выполняться DNS. DNS-имя должно разрешаться в два VIP. Когда один haproxy выходит из строя, другой узел будет удерживать два VIP и получать весь трафик.