У меня есть прототип, который просто завершает эту проблему: SpringBoot позволяет заполнять 100% доступных потоков запросами общедоступной сети, оставляя конечную точку / health недоступной для балансировщика нагрузки AWS, который отключает службу в автономном режиме, считая ее вредной для здоровья , Существует различие между нездоровым и занятым ... и здоровье - это больше, чем просто запущенный процесс, прослушивание порта, поверхностная проверка и т. Д. - это должен быть "глубокий пинг", который проверяет, что он и все его зависимости работоспособны, чтобы дать уверенный ответ проверки здоровья.
Мой подход к решению проблемы состоит в том, чтобы создать два новых компонента с автоматической проводной связью: первый для настройки Jetty с фиксированным, настраиваемым максимальным числом потоков (убедитесь, что вашей JVM выделено достаточно памяти для соответствия), а второй для сохраняйте счетчик каждого запроса при его запуске и завершении, создавая исключение, которое сопоставляется с ответом HTTP 429 «СЛИШКОМ МНОГИЕ ЗАПРОСЫ», если число приближается к потолку, который является maxThreads - reserveThreads. Затем я могу установить для параметра ReserveThreads все, что захочу, и конечная точка / health не будет привязана счетчиком запросов, гарантируя, что он всегда сможет войти.
Я просто искал, чтобы выяснить, как другие решают эту проблему, и нашел ваш вопрос с той же проблемой, пока что не видел ничего более твердого.
Чтобы настроить параметры потока Jetty через файл свойств приложения:
http://jdpgrailsdev.github.io/blog/2014/10/07/spring_boot_jetty_thread_pool.html