Итак коллеги, встал вопрос о балансировки http трафика. Посмотрел в сторону HAProxy.
Отзывы, примеры высоко нагруженных проектов на нем, вменяемые конфиги, все устраивает на первый взгляд.
Но самый главный вопрос для меня остается открытым. Собственно это то, что я хотел бы видеть помимо всего остального.
Необходимо на основании какой то идентификации клиента(по IP,может куки...) кидать его всегда на определенный сервер, скажем на тот с которым он работал с первого своего захода, или к примеру пару дней назад, если же "сервер клиента недоступен" кидаем на новый, но потом возвращаем на старый,если он вернулся в строй.
Возможно ли такая реализация на HAProxy? Спасибо, буду рад советам :
В общем HAProxy помог мне в этой задаче, хоть балансинг сделал по IP, а не по cookies.
Теперь появился другой вопрос. Все соединения висят в TIME_WAIT, хотя работает все с виду нормально. Раньше я смотрел коннекты на 80 порту в ESTABLISHED.
Немного подправил sysctl, тайм вейтов стало на порядок меньше, т.е. они быстрее обрабатываются/закрываются, но и ESTEBLISHED тоже нет, как на проксе, так и на бекендах.