Рубрики
Без рубрики

Изящное завершение работы веб-сервера при весенней загрузке

Узнайте, как воспользоваться новой функцией изящного завершения работы в Spring Boot 2.3

Автор оригинала: Ali Dehghani.

1. Обзор

В этом кратком руководстве мы увидим, как мы можем настроить приложения Spring Boot для более изящной обработки отключений.

2. Изящное Выключение

Начиная с Spring Boot 2.3 , Spring Boot теперь поддерживает функцию изящного завершения работы для всех четырех встроенных веб-серверов (Tomcat, Jetty, Undertow и Netty) как на сервлетных, так и на реактивных платформах.

Чтобы включить изящное завершение работы, все, что нам нужно сделать, это установить для свойства server.shutdown значение изящное в нашем файле application.properties :

server.shutdown=graceful

Затем Tomcat, Netty и Jetty перестанут принимать новые запросы на сетевом уровне. С другой стороны, Undertow будет продолжать принимать новые запросы, но немедленно отправлять клиентам ответ 503 недоступных служб.

По умолчанию значение этого свойства равно немедленный, это означает, что сервер немедленно отключается.

Некоторые запросы могут быть приняты непосредственно перед началом фазы изящного завершения работы. В этом случае сервер t he будет ждать завершения работы этих активных запросов до указанного времени . Мы можем настроить этот льготный период с помощью spring.жизненный цикл.тайм-аут для фазы выключения свойство конфигурации:

spring.lifecycle.timeout-per-shutdown-phase=1m

Если мы добавим это, сервер будет ждать до одной минуты для завершения активных запросов. Значение по умолчанию для этого свойства составляет 30 секунд.

3. Заключение

В этом коротком уроке мы увидели, как мы можем воспользоваться новой функцией изящного завершения работы в Spring Boot 2.3.