Максимальный пул соединений 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-клиентов в экземпляре с несколькими версиями, вам необходимо настроить максимальное количество дескрипторов открытых файлов.