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

Бэкэнд-серверы Haproxy на разных интерфейсах

У меня есть сервер haproxy, который ограничен примерно 60 тыс. Подключений. Я думаю, что это связано с ограничением эфемерного порта, поскольку у меня есть сопоставление соединений 1: 1, поэтому все мои исходящие соединения идут на один и тот же сервер.

Вот что, я думаю, может мне помочь: я могу добавить новый сетевой интерфейс (eth1) с новым IP. Затем я бы добавил дублирующееся определение внутреннего сервера, и я считаю, что новый пункт назначения получит новый лимит эфемерного порта, если он использует другой интерфейс. Это должно позволить моему количеству подключений расти.

Однако я не могу найти способ заставить haproxy использовать eth0 для одного определения внутреннего сервера и eth1 для другого. Возможно ли это сделать или есть другие способы добиться того, что мне нужно?

Рассматриваемая система работает под управлением Debian и haproxy 1.4.8 (по умолчанию в Debian).

Из руководства HAProxy, раздел 5:

Параметр «source» устанавливает адрес источника, который будет использоваться при подключении к серверу. Оно следует тем же параметрам и принципу, что и ключевое слово «source» серверной части, за исключением того, что оно применяется только к серверу, который на него ссылается. За подробностями обращайтесь к ключевому слову "source".

Ответ Флорина великолепен.

В противном случае (скажем, если бы это не был HAproxy) обходным путем было бы настроить адрес в отдельной подсети на дополнительном устройстве.

Бэкэнд-сервер, конечно, должен быть доступен в этой подсети - новый server объявление не будет дубликатом, а скорее независимой записью, которая случайно окажется на той же машине.