티스토리 뷰

Springboot 2.3 이상의 버전에서는 Graceful Shutdown을 아주 손쉽게 사용할 수 있다.

Graceful Shutdown이란? 말 그대로 우아한 종료이다. 처리중인 쓰레드(Thread)를 강제로 종료하지 않고 작업이 끝날때까지 기다린 다음 종료를 하는 방법이다. 정상 종료 프로세스라고 생각하면 된다. Springboot 2.3 미만의 버전은 이런 기능을 사용하기 위해 HandlerWrapper, ApplicationListener 등을 구현하여 직접 사용해야 했지만 2.3 이상에서는 단 한줄의 설정으로 끝난다. 

 

application.properties

server.shutdown=graceful

Springboot에서 지원하는 embedded was인 Tomcat, Jetty, Undertow, Netty 모두 적용 가능하다. 

 

정상 종료를 할 수 있도록 기다려주는 시간은 기본은 30초이다. 이 시간을 조정하기 위해서는 다음 옵션을 추가해주면 된다. 

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

이상 아주 간단하게 Graceful Shutdown을 할 수 있는 방법에 대해 알아보았다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31