Чтобы прояснить этот вопрос, у нас есть два симулированных клиента:
@FeignClient(name = "student")
public interface StudentFeign {
@GetMapping(value="/v1/student/{id}")
Student getStudent(@PathVariable("id") String id);
}
@FeignClient(name = "teacher")
public interface TeacherFeign {
@GetMapping(value="/v1/teacher/{id}")
Teacher getTeacher(@PathVariable("id") String id);
}
Будут ли запросы StudentFeign
и TeacherFeign
выполняться в их собственных изолированных пулах потоков или в том же пуле потоков?
Проблема здесь в том, что, если они используют один и тот же пул потоков, один медленный / нестабильный клиент симуляции может потреблять все ресурсы и влиять на другой.
Если у них есть свои собственные пулы потоков, он использует bulkhead pattern
, что мне кажется более безопасным.