단일 장애 지점(SPOF)이란 무엇인가요

SPOF(Single Point of Failure)는 특정 구성 요소 하나가 제대로 동작하지 않을 때 전체 시스템 장애로 이어지는 지점입니다.

가용성과 고가용성

시스템을 정상적으로 사용할 수 있는 정도를 가용성이라고 합니다. 가용성은 정상 사용 시간(Uptime)을 전체 시간(Uptime + Downtime)으로 나누어 계산할 수 있습니다. 높은 가용성을 유지하려면 SPOF를 식별하고 개선해야 합니다.

예시

API Server가 1대만 운영된다면 OOM, 네트워크 장애, 하드웨어 장애가 발생했을 때 전체 서비스가 중단될 수 있습니다. 이 API Server가 SPOF입니다.

개선 방법

서버를 여러 대로 이중화하고 로드 밸런싱을 적용할 수 있습니다. 로드 밸런서는 요청을 여러 서버로 분산하고, 특정 서버가 실패하면 정상 서버로 요청을 보냅니다.

DB는 Master-Replica와 Failover 구성을 둘 수 있습니다. 다만 Master가 1대라면 Master 장애 시 Failover가 정상적으로 작동하는지 점검해야 합니다.

서버 이중화 시 점검할 점

정리

SPOF는 하나의 구성 요소 장애가 전체 장애로 이어지는 위험 지점입니다. 고가용성을 위해서는 이중화, 로드 밸런싱, Failover, 중앙화된 관측 체계를 통해 SPOF를 줄여야 합니다.

추가 학습 자료

CSLOG에서 보기