Ошибка сброса соединения на стороне HttpClient, обернутая вокруг Hystrix - PullRequest
0 голосов
/ 23 октября 2019

В нашем сервисе [A] мы вызываем другой микросервис [B] с HTTP-клиентом, обернутым вокруг Hystrix для прерывания цепи. Микросервис B основан на Spring-boot-webflux и использует встроенный нетти-сервер.

Встроенный сервер Netty имеет время ожидания простоя как 10 с, в то время как служба A использует стандартные настройки HTTP-клиента в Spring RestTemplate.

private <REQUEST, RESPONSE> RESPONSE perform(String path, HttpMethod httpMethod, HttpHeaders httpHeaders, Class<RESPONSE> responseClass) {
    logJsonValue(path + " called", null);
    HttpEntity<REQUEST> httpEntity = new HttpEntity<>(httpHeaders);
    ResponseEntity<RESPONSE> responseEntity = restTemplate.exchange(path, httpMethod, httpEntity, responseClass);
    RESPONSE body = responseEntity.getBody();
    logJsonValue(path + " answered with", body);
    return body;
}

Это фрагмент кода, который вызываетМикросервис Б. И это приводит к сообщению об ошибке как -

I/O exception (java.net.SocketException) caught when processing request to {}-u003ehttp://grbs.shopping:80: Connection reset

Хотя на тот же запрос сервер отвечает сообщением об успешном завершении. Любые указатели для отладки?

...