티스토리 뷰
- Spring Boot Actuator란?
- Actuator + Eureka를 이용한 무중단 서비스 구축 ( /actuator/shutdown 호출 시 )
- 거래 가 진행중일 때 Shutdown(요구사항)
- 1. Eureka같은 Service Discovery와 연동 상황에서도 제거 한다고 알리고, 즉시 다른서비스에서 호출하지 않도록 하는가?
- OK => Eureka Client이 Actuator Shutdown의 /actuator/shutdown API가 호출될 시 Eureka에도 알리는 기능이 있음.
- 2. 진행중인 거래가 정상적으로 진행되어야 한다.(최소한 정해진 Time동안은 기다려야함.)
- NO => /actuator/shutdown 만으로는 진행중인 거래를 기다렸다가 해제하지 않음. ThreadPool에서 진행중인 거래도 반환처리 되지않고 즉시 종료 처리하게됨.
- 어떻게 해결할 수 있을까?
- 최종 해결 방법
- 서비스 /actuator/pause 호출 : 유레카 클라이언트 라이브러리가 탑재된 서비스는 해당 pause 요청을 intercept 하여 유레카 서버에 DOWN으로 자신의 상태를 알린다. ( 하지만 서비스는 그대로 작동함. )
- 2중화, 3중화이상의 구성을 했다면 해당 서비스에 어느순간 거래가 들어오지 않게 된다. ( 다른 모든 유레카 클라이언트들이 해당 서버가 DOWN 됬다고 인지했으므로... 기본설정이라면 최대 2분가량 걸린다. )
- 거래가 더이상 들어오지 않으면 해당 서비스를 배포한다. 끝..!
« 2025/01 »
일 |
월 |
화 |
수 |
목 |
금 |
토 |
|
|
|
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 |
|