Как справиться с истощением эфемерного порта у посланника - PullRequest
0 голосов
/ 29 мая 2018

Одна из проблем, связанных с обратными прокси-серверами, обрабатывающими несколько запросов от имени клиентов, заключается в том, что через некоторое время при большой нагрузке количество исходящих соединений от узла-отправителя к узлам сервера будет исчерпано эфемерными портами

Предполагается, чточто мы назначили несколько адресов ip-адресов / хостов узлу-посланнику, есть ли способ сообщить посланнику использовать эти ip-адреса / имена хостов в циклическом порядке при установлении соединений с бэкэндами?

Ссылки:

  1. https://blog.box.com/blog/ephemeral-port-exhaustion-and-web-services-at-scale/
  2. https://making.pusher.com/ephemeral-port-exhaustion-and-how-to-avoid-it/
  3. https://www.nginx.com/blog/overcoming-ephemeral-port-exhaustion-nginx-plus/
  4. https://github.com/kubernetes/kubernetes/issues/27398

1 Ответ

0 голосов
/ 29 мая 2018

Наиболее перспективный вариант - найти способ включить мультиплексирование TCP между прокси / LB и внутренними серверами.

Что такое мультиплексирование TCP?

TCP-мультиплексирование - это метод, используемый в основном балансировщиками нагрузки и контроллерами доставки приложений (но также некоторыми автономными решениями по ускорению веб-приложений), который позволяет устройству «повторно» использовать существующие TCP-соединения.Это похоже на то, как постоянные соединения HTTP 1.1 работают в том, что одно HTTP-соединение может использоваться для извлечения нескольких объектов, что снижает влияние накладных расходов TCP на производительность приложений.

Мультиплексирование TCP допускает то же самое для приложений на основе TCP (обычно HTTP / web), за исключением того, что вместо повторного использования, ограниченного только одним клиентом, соединения могут использоваться повторно для многих клиентов, что приводит кболее высокая эффективность веб-серверов и более быстрые приложения.

Еще одно хорошее объяснение мультиплексирования TCP можно найти здесь .

Другой вариант - добавить дополнительные экземпляры прокси впул за сетевым балансировщиком нагрузки L4 и установите разумное значение для одного экземпляра.Каждый прокси будет нести определенную нагрузку без проблем.Если вам нужно обрабатывать периодические посылки в нагрузке, вы можете установить стратегию автоматического масштабирования для пула прокси.

...