티스토리 뷰
Overview
스프링 부트에서 graceful shutdown
을 사용하는 방법을 소개합니다.
먼저 graceful shutdown
은 애플리케이션 서버 종료시 새로운 요청은 받지 않고 기존 요청을 완전히 처리한 이후 서버를 종료하는 것을 말합니다.
스프링 부트 2.3 이상 버전부터 동작합니다.
참고로 이전 버전에서는 응답을 보내기 전에 서버를 종료했을 경우 클라이언트가 응답을 받지 못합니다.
설정 파일
설정 파일 수정만으로 간단히 해당 기능을 구현할 수 있습니다.
서블릿 기반 MVC와 reactive stream 기반 webflux에서도 동작합니다.
타임아웃 설정도 추가할 수 있습니다.
단, 요청을 처리하는 시간보다 타임아웃으로 설정한 시간이 짧을 경우 클라이언트는 응답을 받을 수 없습니다.
이 경우 graceful shutdown을 적용하는 게 의미가 없어지니 적절한 시간으로 설정할 필요가 있습니다.
application.properties
server.shutdown=graceful
spring.lifecycle.timeout-per-shutdown-phase=20s
application.yml
server:
shutdown: graceful
spring:
lifecycle:
timeout-per-shutdown-phase: 20s
'SpringBoot' 카테고리의 다른 글
스프링 부트 설정 파일 우선 순위 (0) | 2022.06.26 |
---|---|
[SpringFramework] SpEL (Spring Expression Language, 스프링 표현식) (1) | 2021.07.29 |
Spring Boot로 효율적인 Docker Image 만들기 (0) | 2021.06.11 |
Spring Boot 프로젝트를 웹 서버 기동 없이 실행시키기 (0) | 2020.07.02 |
@Component와 @Bean의 차이 (0) | 2019.09.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- @ManyToOne
- 스프링 부트 튜토리얼
- Jackson
- proto3
- JPA
- 함께 자라기 후기
- 스프링부트
- QueryDSL
- 스프링 부트
- spring boot jwt
- spring boot app
- gRPC
- Linux
- 헥사고날 아키텍처
- Spring Boot Tutorial
- 스프링 데이터 jpa
- leetcode
- 스프링 부트 회원 가입
- r
- Spring Boot
- 클린 아키텍처
- Java
- 함께 자라기
- Spring Boot JPA
- intellij
- spring boot application
- JSON
- Spring Data JPA
- 스프링 부트 애플리케이션
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함