docs: Admin Dashboard 서버 간 헬스체크 개선 문서 추가
This commit is contained in:
parent
5002cf6482
commit
5a860ee3ed
@ -0,0 +1,41 @@
|
|||||||
|
# Admin Dashboard 서버 간 헬스체크 개선
|
||||||
|
|
||||||
|
**날짜**: 2026-01-16
|
||||||
|
**작성자**: Claude
|
||||||
|
**관련 파일**: `admin-dashboard/backend/services/system_service.py`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 문제 상황
|
||||||
|
|
||||||
|
51124 서버의 admin-dashboard가 51123 서버 서비스(goosefarm-app, robeing-gateway, opensearch) 헬스체크 시 NOT_FOUND 상태 발생.
|
||||||
|
|
||||||
|
**원인 3가지**:
|
||||||
|
1. Docker API 제한: 51124에서 51123 컨테이너를 Docker API로 조회 불가 (같은 서버 컨테이너만 조회 가능)
|
||||||
|
2. 폴백 로직 없음: Docker API 실패 시 HTTP 헬스체크로 폴백하지 않음
|
||||||
|
3. 서버 간 접근 불가: 172.17.0.1은 Docker bridge IP로 같은 서버에서만 접근 가능, 51124에서 51123 서비스 접근 시 192.168.219.45 필요
|
||||||
|
|
||||||
|
## 해결 방안
|
||||||
|
|
||||||
|
### 1. Docker API 실패 시 HTTP 폴백 추가
|
||||||
|
- `system_service.py:458-468`: Docker API 체크 성공 시만 즉시 반환, 실패 시 HTTP 체크로 진행
|
||||||
|
|
||||||
|
### 2. 서버 간 접근 URL 폴백
|
||||||
|
- `system_service.py:475-500`: 172.17.0.1 사용하는 51123 서버 서비스는 192.168.219.45로 폴백 시도
|
||||||
|
|
||||||
|
**코드 변경**:
|
||||||
|
- Docker API 성공 체크 후 HTTP 폴백 가능하도록 조건 변경
|
||||||
|
- HTTP 체크 시 172.17.0.1 실패 시 192.168.219.45로 재시도
|
||||||
|
|
||||||
|
## 교훈
|
||||||
|
|
||||||
|
### 서버 간 접근 시 Docker bridge IP 한계
|
||||||
|
- 172.17.0.1은 Docker bridge IP로 같은 호스트에서만 유효
|
||||||
|
- 서버 간 접근 시 실제 서버 IP(192.168.219.45/52) 사용 필요
|
||||||
|
|
||||||
|
### 폴백 로직 필수
|
||||||
|
- Docker API는 같은 서버 컨테이너만 조회 가능
|
||||||
|
- 원격 서버 서비스는 HTTP 헬스체크로 폴백 필요
|
||||||
|
|
||||||
|
### 체크 메서드 우선순위
|
||||||
|
- Docker API (같은 서버) → HTTP (원격 서버 포함) 순서로 폴백
|
||||||
Loading…
x
Reference in New Issue
Block a user