Приложение настроило Zuul и Eureka для маршрутизации запроса к внутренним службам, и все работает нормально, пока мы не проведем нагрузочное тестирование.
Я начал выполнять с 10 одновременными запросами в нашей среде нагрузочного тестирования и получил ошибку пересылки в шлюзе zuul, и причина была в том, что пул потоков не смог выделить поток для будущей задачи и отклонить задачи, с ошибкой ниже.
Caused by: java.util.concurrent.RejectedExecutionException: Task
java.util.concurrent.FutureTask@70fe89b5 rejected from
java.util.concurrent.ThreadPoolExecutor@25df1748[Running, pool size = 10,
active threads = 10, queued tasks = 0, completed tasks = 1502]
Мое чудо;Вышеупомянутая причина, я вижу, что размер пула был только 10, и 10 потоков были заняты, практично, так как я запускал 10 последовательных запросов.
Но мой corepoolsize должен быть намного больше, чем то, что я вижу здесь, из счета 10. Чем вызвано ограничение моего приложения размером 10 пулов, могу ли я увеличить corepoolsize и maxpoolsize в моем приложении.