Zuul ReadTimeout по обслуживанию

У меня есть прокси Zuul, и он работает нормально, пока не перенаправит на сервер, который занимает больше времени, чем обычно (более 10 секунд) для ответа.

Я могу изменить время чтения через свойства (zuul.host.socket-timeout-millis), чтобы оно могло работать правильно.

ribbon.eureka.enabled=false
zuul.host.connect-timeout-millis=100000
zuul.host.socket-timeout-millis=100000

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

У меня нет Eureka в моей архитектуре, поэтому я отключил ее в свойствах. (ribbon.eureka.enabled = ложь)

Я пробовал с

hystrix.command.default.execution.timeout.enabled=false
hystrix.command.messages.execution.isolation.strategy=THREAD
hystrix.command.messages.execution.isolation.thread.timeoutInMilliseconds= 100000

Но это не работает. Он всегда использует значение zuul.host.socket-timeout-millis, и если я не устанавливаю это свойство Zuul, используется тайм-аут 10 секунд.

Я также пытался

messages.ribbon.ReadTimeout=120000
ribbon.ReadTimeout=60000

Но он всегда использует то, что находится на zuul.host.socket-timeout-millis

Я не знаю, как установить время ожидания по службе.

Таким образом, я могу установить для service1 30 секунд, для service2 45 секунд и для других сервисов значение по умолчанию 60.

Как я могу это сделать?

1 ответ

Я полагаю, у вас есть, но я спрошу: вы пытались настроить оба свойства одновременно с более высоким значением?

Это должно работать, мы используем эту функцию в Zuul, и она работает хорошо, но вам нужно настроить время ожидания стенда (Zuul и Ribbon)

У вас есть информация о том, как это работает здесь: Лента, Hystrix

Обратите внимание, что в зависимости от того, как вы используете Zuul, имя вашего клиента может отличаться для ленты и Hystrix.

Другие вопросы по тегам