У меня есть сервер haproxy, который ограничен примерно 60 тыс. Подключений. Я думаю, что это связано с ограничением эфемерного порта, поскольку у меня есть сопоставление соединений 1: 1, поэтому все мои исходящие соединения идут на один и тот же сервер.
Вот что, я думаю, может мне помочь: я могу добавить новый сетевой интерфейс (eth1) с новым IP. Затем я бы добавил дублирующееся определение внутреннего сервера, и я считаю, что новый пункт назначения получит новый лимит эфемерного порта, если он использует другой интерфейс. Это должно позволить моему количеству подключений расти.
Однако я не могу найти способ заставить haproxy использовать eth0 для одного определения внутреннего сервера и eth1 для другого. Возможно ли это сделать или есть другие способы добиться того, что мне нужно?
Рассматриваемая система работает под управлением Debian и haproxy 1.4.8 (по умолчанию в Debian).
Из руководства HAProxy, раздел 5:
Параметр «source» устанавливает адрес источника, который будет использоваться при подключении к серверу. Оно следует тем же параметрам и принципу, что и ключевое слово «source» серверной части, за исключением того, что оно применяется только к серверу, который на него ссылается. За подробностями обращайтесь к ключевому слову "source".
Ответ Флорина великолепен.
В противном случае (скажем, если бы это не был HAproxy) обходным путем было бы настроить адрес в отдельной подсети на дополнительном устройстве.
Бэкэнд-сервер, конечно, должен быть доступен в этой подсети - новый server
объявление не будет дубликатом, а скорее независимой записью, которая случайно окажется на той же машине.