Why Health Check ?
처음에 회사 코드에서 health check api를 발견했을 때, 조금 의아하기도 했다
이 단순한 api는 뭐지...?
조금 생각해보니 health check란건 꽤 간편하고 괜찮은 방안이었다
운영 환경에 있다보면 항상 예상할 수 없는 상황들이 발생하고
이게 애플리케이션의 문제인지, 환경의 문제인지 빠르게 파악할 수 있기 때문이다
또한
[aws 로드밸런서에서 타겟 그룹을 지정하고 헬스체크 api를 등록] 과정을 거치면, 로드밸런서 자체에서 주기적으로 http 요청을 보내고 200 상태를 응답하는지 확인해주는 등 다양하게 활용이 가능하다
⬇⬇ aws load balancing health check 문서 참고
또한 애플리케이션이 서버에서 정상적으로 구동되고 있는지 확인하기 위해서, 굳이~ 굳이~ 개발해놓은 기능 api를 하나 찾아서 호출해보는 과거의 나를 보더라도...
"애플리케이션이 정상적으로 실행되는지 확인하는 API"는 훨씬 효율적이다
Spring Boot Actuator
health check API를 구현하기 위해 Spring Boot Actuator
모듈을 사용했다
Spring Boot Actuator 는 애플리케이션에 대한 모니터링 정보를 복잡한 구성 없이 endpoint로 확인할 수 있다
애플리케이션, 데이터베이스, 매트릭, 디스크 공간 등 다양한 리소스의 상태 정보를 제공받을 수 있다
in code 🚜
> build.gradle : 라이브러리 추가
dependencies {
...
implementation 'org.springframework.boot:spring-boot-starter-actuator:3.1.0'
...
}
> postman : Rest API 호출
기본 매핑은 /actuator/health
> application.yaml : path 설정
/actuator/health 은 너무 번거롭다. 간단하게 /health 로 매핑해보자
.
... ing
Refences
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#actuator.endpoints
https://www.devkuma.com/docs/spring-boot/actuator/
'Spring' 카테고리의 다른 글
Spring Framework : basics() { Spring MVC 구조 } (1) | 2021.10.13 |
---|
댓글