Максимальный пул соединений Vert Http Client? Это пул для каждой конечной точки или всего?

Я использую веб-клиент vertx (3.8.5) для api-gateway и устанавливаю для setMaxPoolSize значение 20. Это лимит для каждой конечной точки или всего для всех конечных точек?

Я развертываю свое приложение с 36 вершинами и 1 веб-клиентом на каждую, что составляет всего 36 веб-клиентов, и моему приложению необходимо подключаться к более чем 1000 различных ip:port. Теперь, чтобы использовать преимущества пула подключений, если указанный выше предел установлен на общее количество подключений, мне нужно установить MaxPoolSize >= 1000, что делает общие подключения из приложения равными 1000 * 36 >= 36000. Каковы рекомендуемые настройки для вышеупомянутого вариант использования?

Если я установил maxPoolSize = 20, и ни один из них не истек (время истечения = 60 с) и, допустим, используются только 10 из них, что произойдет, когда поступит запрос на ip: порт, которого нет в пуле Попадает ли он в очередь или одно из неиспользуемых соединений разрывается и устанавливается новое соединение (для нового ip:port)?

Какой должна быть конфигурация моего клиента для api-gateway для обработки нескольких одновременных запросов для разных портов ip:?

Спасибо, Нитиш

1 ответ

Решение

После прочтения кода vert.x я понял, что maxPoolSize предназначен для каждого пункта назначения

Итак, в приведенном выше случае это будет количество http-клиентов * maxPoolSize (для каждого пункта назначения)

Я не ожидаю более 100 одновременных запросов к любому хосту назначения. Итак, установка этого значения на 5 дает мне - 5 * 36 (36 http-клиентов) = 180 подключений.

Примечание: если вы используете большое количество http-клиентов в экземпляре с несколькими версиями, вам необходимо настроить максимальное количество дескрипторов открытых файлов.

Другие вопросы по тегам