-
Server Shutdown극락코딩 2023. 7. 30. 23:25
서버의 shutdown 방식에 대해 학습하자
Default Options
기본적으로 Spring에서 서버 shutdown 옵션은 `IMMEDIATE`이다. 즉시 서버의 구동을 중지시키는 것이다. 하지만, 이런 옵션은 현재 작업중인 API의 응답 손실을 야기시킬 수 있다. 그렇기 때문에
데이터 혹은 요청 손실을 줄이기 위해서 `GRACEFUL`을 이용하는 것을 권한다. (물론, 상황에 따라 다름)IMMEDIATE
기본으로 설정된 shutdown 기법이다. `org.springframework.boot.web.server.Shutdown`을 참고하자. 서버 종료 요청이 들어온 경우, 즉시 서버의 가동을 중지시킨다.
GRACEFUL
서버 종료 요청이 들어오더라도, 현재 작업 중인 내역을 수행하고 중지시키는 기법이다. 아래의 yml 설정을 기반으로 한다.
server: shutdown: immediate spring: lifecycle: timeout-per-shutdown-phase: 30s
셧다운의 타임 딜레이 값을 설정할 수 있는데, default로 30초로 구성되어 있다.
`org.springframework.boot.autoconfigure.context.LifecycleProperties` 참고'극락코딩' 카테고리의 다른 글
ThreadLocal을 간단하게 살펴보기 (0) 2023.08.15 ehcache 사용하기 (로컬 캐시 사용하기) (0) 2023.08.09 시멘틱 버저닝이란 무엇인가? (0) 2023.08.09 OLTP와 OLAP (0) 2023.07.30 스프링 스케줄러 사용법 (0) 2023.07.30