Опыт организации HA решение для http/htts

Друзья.
Поделитесь пожалуйста опытом, кто какие решения по HA для сайтов использовал.
Задача примерно следующая:
2 физических web сервера с приватными IP,
2 виртуалки с приватными приватными IP и одним Виртуальным WAN IP.
Доступность прокси на виртуал IP
балансировка нагрузки между 2 веб серверами
липкие соединения (ну очень желательно что бы зайдя на 1 сервер пользователь, скорее всего по кукам (может как-то еще можно?), в следующий раз зашел бы туда же.)

Насколько я понял, есть только 2 открытых решения:
— LVS (давным давно не обновлялся, может ему и не надо?)) )
— linux-ha (мне показалось что это как гвозди микроскопом забивать, применительно к моей задаче)
— keepalived

Есть так же близкие но «не совсем то»:
— haproxy (Вроде как не умеет виртуальный IP)
— всяческие реализации CARP, VRRP

Правильно ли я понимаю ситуацию? Есть ли какие-то еще решения? Что лучше выбрать?
  • Вопрос задан
  • 4782 просмотра
Пригласить эксперта
Ответы на вопрос 3
@sevmax
haproxy + keepalived. Разруливаем весьма хороший трафик.
HAproxy для балансировки трафика, keepalived для переключения виртуального IP на резервную ноду при падении основной.

Кстати, keepalived — это и есть реализация VRRP, и он вырос из LVS.
Ответ написан
Anastasia_K
@Anastasia_K
задача тривиальна на самом деле. carp/vrrp на внешний адрес виртуалки, дальше на виртуалках nginx, распределяющий запросы. Если в nginx, в настройках апстрима указано 2 сервера и опция ip_hash, то один и тот же пользователь всегда будет попадать на один и тот же бекенд.
При падении виртуалки внешний адрес уйдёт на вторую, и всё продолжит работать штатно. при падении физического сервера с приложением nginx переправляет запросы на оставшийся в живых и всё опять же продолжает работать
Ответ написан
@ragus
я бы взял LVS, если вам надо просто tcp разбросать.
насчёт «давно не обновлялся» — это вы, мягко говоря, не правы: советую посмотреть в netdev@ или же просто в git.

если же надо в http смотреть, то haproxy лучше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы