1. 개요
#
단일 장애 지점(Single point of failure, SPOF)은 시스템 구성 요소 중 하나만 문제가 생겨도 전체 시스템이 중단되는 지점을 뜻한다. 즉, 그 한 부분에 문제가 생기면 전체 서비스나 시스템이 멈춰버리는 구조적 취약점이다.
가령, 서버가 한 대뿐인 시스템에서 그 서버에 문제가 생기면 전체 서비스가 중단된다. 데이터베이스가 하나뿐이라면, 해당 데이터베이스에 문제가 발생했을 때 그 데이터베이스에 의존하는 모든 것들이 정상적으로 작동하지 못한다.
2. 발생 원인
- 하드웨어 의존성: 단일 서버, 스토리지, 네트워크 장비 사용
- 네트워크 단일 구성: 하나의 라우터/스위치에만 연결
- 소프트웨어 구조적 한계: 단일 데이터베이스 및 단일 로드밸런서에 의존
- 물리적 인프라 문제: 전원, 냉각, 회선 등 인프라 장애
- 운영상 인적 실수: 설정 실수, 변경 관리 부재
3. 해결법
3.1. 이중화(Redundancy)
이중화는 동일한 역할을 수행하는 시스템을 두 개 이상 두어, 하나가 문제가 생기면 다른 시스템이 즉시 역할을 이어받도록 설계하는 방식이다.- 하드웨어 이중화: 서버, 스토리지, 네트워크 장비를 이중 구성해 장애 시 자동 전환(Failover)이 가능하도록 설계한다.
- 소프트웨어 이중화: DB 클러스터링, 애플리케이션 서버 다중화 등으로 단일 장애점 제거
- 로드 밸런싱: 트래픽을 여러 노드로 분산해 특정 서버나 장비에 부하가 집중되지 않도록 설계
이러한 이중화를 통해 단일 장애 지점(SPoF)을 제거하면, 서비스의 가용성(Availability) 과 확장성(Scalability) 을 동시에 확보할 수 있다.
3.2. 재해 복구(Disaster Recovery, DR)
이중화가 장비 수준에서의 안정성을 확보하는 기술이라면, DR(Disaster Recovery) 는 데이터센터 단위의 장애 대응을 목표로 하는 상위 개념이다.DR은 주센터(Main DC)에 장애가 발생하더라도 별도의 DR센터(Disaster Recovery Center) 에서 서비스를 지속할 수 있도록 설계된 구조다.
DR 설계의 핵심 목표:
- 자동 전환(Failover) : 주센터 장애 발생 시 즉시 DR센터로 서비스 전환
- RTO/RPO 보장 : 복구 시간과 데이터 손실을 최소화
- Active-Active / Active-Passive 구성 : 상황에 맞는 가용성 전략 구현