В Spring 5 мы используем webclient для вызова других конечных точек REST через SSL.Когда мы взяли логи на wireshark, мы увидели, что для каждого запроса происходит SSL-рукопожатие, и оно отнимает много времени.
Это запросы, которые у меня есть.
Запрос 1: Webclient выполняет внутренний пул соединения.Какое время истечения, после которого соединение будет недействительным.
Можем ли мы установить время, в течение которого соединение должно быть открыто для отправки нового запроса по уже определенному соединению, чтобы избежать рукопожатия SSL?
Есть ли параметр, позволяющий избежать рукопожатия SSL для каждого запроса?
Запрос 2: Мы создаем компонент Webclient и используем его во всем приложении.Есть ли какие-то настройки, которые нам нужно сделать, чтобы включить пул соединений и повторно использовать существующее соединение для отправки новых запросов.Также любые настройки, чтобы избежать рукопожатия SSL каждый раз.
@Bean(name="productDefWebClient")
public WebClient productDefWebClient() {
ConnectionProvider elasticPool = ConnectionProvider.elastic("productDef-pool");
HttpClient httpClient = HttpClient.create(elasticPool).wiretap(true);
return WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.defaultHeader("Accept","application/json")
.baseUrl("https://test-qa.test.com")
.build();
}