Spring Cloud Zuul Gateway Response Timeout и прерывание текущего вызова микросервиса - PullRequest
0 голосов
/ 14 апреля 2020

Я новичок в шлюзе Zuul Api. У меня есть следующий сценарий: сервер Eureka запущен Zuul зарегистрирован на Eureka, один микросервис m1 также зарегистрирован на Eureka.

Теперь, когда я звоню zuul для API, связанного с микросервисом m1, который работает недолго, он работает правильно.

Если я нажму api, выполнение которого занимает много времени, я получаю ошибку readtimeout в zuul. Для этого я установил ribbon.ReadTimeout = 50000, после чего он будет работать правильно.

Теперь иногда долго работающий API занимает время более 50000 мсек, в этом случае пользователь снова получает ошибку тайм-аута, что хорошо для меня, но вместе с тем при этом мне нужно прервать вызов по вызову API microservice m1.

Мне нужно прервать вызов API, потому что API может сохранять данные в БД и возвращать ответ пользователю, но на самом деле из-за Zuul readtimeout, пользователь получает ответ об ошибке, поэтому необходимо выполнить откат действий, выполненных из вызова API m1.

Есть ли способ прервать вызов API mi microservice, когда Zuul возвращает ошибку readTimeout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...