서버 상태 체크
MineBoard의 서버 상태 표시는 여러 백그라운드 점검 작업으로 갱신됩니다.
구조는 크게 Java / Bedrock 과 1차 확인 / 재확인 단계로 나뉩니다.
구성
| 구분 | 대상 | 역할 |
|---|---|---|
| Java 1차 확인 | Java Edition | 공개된 Java 서버의 기본 상태를 먼저 확인합니다. |
| Java 재확인 | Java Edition | 1차 확인에서 불안정했던 서버만 다시 확인합니다. |
| Bedrock 1차 확인 | Bedrock Edition | 공개된 Bedrock 서버의 기본 상태를 먼저 확인합니다. |
| Bedrock 재확인 | Bedrock Edition | 1차 확인에서 불안정했던 서버만 다시 확인합니다. |
이 작업들은 내부 서버 목록을 읽고, 결과를 상태 저장소에 반영합니다.
왜 2단계로 체크하나요?
서버 상태 체크는 네트워크 상태, 지역 라우팅, 일시적인 패킷 손실에 영향을 받습니다.
그래서 MineBoard는 한 번 실패했다고 바로 사용자 화면을 오프라인으로 바꾸지 않습니다.
1차 확인에서 실패하면:
- 기존에 보이던 상태가 있으면 그 값을 그대로 유지합니다.
- 대신 내부적으로 재확인 대상으로 표시합니다.
- 재확인 단계에서 같은 서버를 한 번 더 확인합니다.
재시도에서 다시 실패하면 그때 최종 오프라인으로 확정합니다.
재시도에서 성공하면 오프라인 전환 없이 정상값으로 복구됩니다.
이 구조 덕분에 순간적인 네트워크 문제로 서버가 불필요하게 오프라인으로 보이는 일을 줄일 수 있습니다.
사용자에게 보이는 반영 지점
이 백그라운드 작업 자체는 “상태를 수집하고 저장”하는 역할을 합니다.
실제 MineBoard 화면은 저장된 최신 상태와 이력을 읽어서 보여줍니다.
- 서버 목록의 온라인 표시
- 상세 페이지의 현재 상태
- 최근 접속자 수와 상태 변화 이력
즉, 사용자가 서버 카드나 상세 페이지에서 보는 온라인 여부, 접속자 수, 지연 시간은 이 4개 서비스가 주기적으로 갱신한 결과입니다.
공통 특징
- 공개 상태의 운영 중인 서버만 체크합니다.
- 점검 작업은 여러 서버를 나누어 병렬로 처리합니다.
- 외부에 노출되면 안 되는 주소나 내부망으로 연결될 수 있는 호스트는 제외합니다.
- 점검 결과는 내부 모니터링과 함께 관리됩니다.
Java와 Bedrock은 응답 방식이 다르기 때문에 분리된 점검 흐름을 사용합니다. 자세한 차이는 다음 문서에서 설명합니다.
Last updated on