Мы определили компонент HTTPClient в Spring Boot следующим образом:
@Configuration
public class HttpClientConfig {
@Bean
HttpClient httpClient() {
return HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.ALWAYS)
.connectTimeout(Duration.ofSeconds(10))
.build();
}
}
Мы получаем прерывистые тайм-ауты как по запросу, так и по самому соединению.
Мы выяснили проблемы с сетевой активностью и поняли, что сервер, с которым мы связываемся как динамический диапазон c ip, эффективно изменил адрес для конкретного имени хоста, с которым мы связываемся.
Будет использовать один экземпляр http-клиент вызывает такую проблему? Может ли пользовательский исполнитель помочь с этим сценарием?
В Интернете не так много информации о пуле соединений или управлении соединением (если только он не для apache httpclient)