Я заметил Spring -Cloud ZUUL принудительно изолирует выполнение SEMAPHORE вместо значений по умолчанию THREAD (как рекомендовано Netflix).
Комментарий в org.springframework.cloud.netflix.zuul.filters.route.RibbonCommand
говорит:
мы хотим по умолчанию изолировать семафор, так как это обертывание 2 других команды, которые уже выделены потоком
Но все же я не понимаю:-( Каковы эти две другие команды?
Настроенный таким образом, Zuul может только планировать загрузку, но не позволяет таймингам и позволяет клиенту уйти. Короче говоря, даже если тайм-аут Hystrix установлен на 1000 мс, клиенты будут освобождены только после того, как вызов, перенаправленный службе вниз, вернется в цепочку (или тайм-ауты из-за ReadTimeout, например).
Я попытался изолировать THREAD, переопределив конфигурацию (к сожалению, поскольку служба по умолчанию вынуждена в коде), и все работает так, как ожидалось. Тем не менее, я не заинтересован в этом без правильного понимания последствий - конечно, в отношении комментария, найденного в коде, и значений по умолчанию, принятых облачной версией Zuul Spring.
Может ли кто-нибудь предоставить дополнительную информацию? спасибо