feign.RetryableException: чтение истекло время выполнения GET - PullRequest
0 голосов
/ 05 октября 2018

В моем проекте ниже архитектура enter image description here

Моя служба пользовательского интерфейса (порт 8080) выполняет вызов Feign для службы шлюза (порт 8085).Служба My Get call from UI: "http://localhost:8080/invoice-list?startDate=2018-08-05&endDate=2018-10-05"Аналогичный вызов от службы шлюза "http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05"

Когда я выполняю этот вызов GET из службы пользовательского интерфейса, в течение минуты я получаю ошибку ниже

 is feign.RetryableException: Read timed out executing GET http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05] with root cause

java.net.SocketTimeoutException: Read timed out

Но когда я выполняю прямой вызов с сервера шлюза на микросервис, я не получаю сообщение об ошибке.

Файл Application.properties службы Gateway

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=160000000

ribbon.OkToRetryOnAllOperations=true
ribbon.ReadTimeout=5000000
ribbon.ConnectTimeout=5000000
ribbon.MaxAutoRetries=3
ribbon.MaxAutoRetriesNextServer=3


zuul.host.socket-timeout-millis= 5000000
zuul.host.connect-timeout-millis= 5000000

Здесь я установил свойства readtimeout и connecttimeout примерно от 8 до 10 минут, поэтому яЯ не получаю сообщение об ошибке.

Файл Application.properties службы пользовательского интерфейса

spring.application.name=external-ui-service

server.port=8080

Здесь, в службе пользовательского интерфейса, у меня нет свойства тайм-аута. Я пробовал описанные здесь свойства, но неОчевидно, этот сервис пользовательского интерфейса не использует ленточку, зуул и т. д. Это просто вызов Feign для шлюза.

Так что же мне делать, чтобы увеличить время ожидания в сервисе пользовательского интерфейса?

1 Ответ

0 голосов
/ 09 октября 2018

Добавленные ниже свойства в файле application.propeties Сервиса пользовательского интерфейса.

feign.client.config.default.connectTimeout: 160000000
feign.client.config.default.readTimeout: 160000000
...