Ⅰ. HA(High Availability) 구성이란?
High Availability(HA)는 시스템, 애플리케이션, 또는 서비스가 장애 발생 시에도 지속적으로 작동할 수 있도록 설계하는 것을 말합니다. 이는 다운타임을 최소화하고 서비스의 연속성을 보장하는 것을 목표로 합니다. HA 구성은 데이터 동기화 외에도 서버, 네트워크, 애플리케이션, 장애 복구 메커니즘이 통합적으로 작동해야 완전한 시스템 가용성을 보장합니다.
Ⅱ. HA(High Availability) 핵심 구성요소
ⅰ. 다중 서버/노드 구성
1) 액티브(Active) - 액티브(Active)
: 모든 서버가 동시에 작동하며 부하를 분산함. 하나의 서버가 장애가 나도 다른 서버가 즉시 처리.
2) 액티브(Active) - 패시브(Passive)
: 하나의 주 서버가 작업을 처리하고, 대기 상태인 백업 서버가 장애 시 이를 대신 수행.
ⅱ. 로드 밸런싱
트래픽을 여러 서버로 분산해 특정 서버에 과부하가 걸리는 것을 방지. 장애 발생 시 요청을 정상 서버로 전환.
ⅲ. 데이터 복제 및 동기화
데이터를 여러 노드에 동기화하여 데이터 유실을 방지. 데이터 동기화 방식에는 실시간 동기화(Synchronous)와 비동기 동기화(Asynchronous)가 있음.
ⅳ. 장애 감지 및 복구 시스템
장애를 감지하면 자동으로 다른 자원으로 전환(Failover)하거나, 복구 절차를 수행하도록 구성.
ⅴ. 네트워크 구성
네트워크 레벨에서 다중 경로를 설정하거나, 네트워크 장비의 이중화를 통해 단일 장애 지점(SPOF)을 제거.
ⅵ. 스토리지 이중화
데이터를 저장하는 스토리지 장비의 장애를 대비해 RAID, SAN, NAS 등 스토리지 이중화를 적용.
Ⅲ. 데이터 동기화만으로 HA로 보지 않는 이유
데이터 동기화는 HA를 구성하는 일부 요소일 뿐, HA의 전체 목표인 서비스 연속성을 보장하지 못하기 때문입니다.
ⅰ. 서비스 중단 방지 부족
데이터 동기화는 데이터 유실을 방지하는 데 초점이 맞춰져 있으며, 서비스의 운영을 보장하지는 않습니다.
데이터는 동기화되더라도 주 서버가 다운되면 서비스가 중단됩니다.
ⅱ. 장애 감지 및 자동 전환 부재
HA는 장애 감지 후 자동으로 다른 자원으로 전환하여 서비스 중단을 방지합니다. 데이터 동기화만으로는 장애 시 서비스가 자동으로 복구되지 않습니다.
ⅲ. 전체 시스템 이중화 필요
HA는 데이터뿐 아니라 애플리케이션, 네트워크, 스토리지, 서버 전체가 이중화되어야 합니다. 데이터 동기화만으로는 시스템의 가용성을 보장하지 못합니다.
Ⅳ. 데이터 동기화가 포함된 HA 구성 사례
ⅰ. Active-Passive 클러스터
데이터가 두 서버 간 동기화되고, 주 서버에 장애가 발생하면 백업 서버가 자동으로 서비스 처리.
ⅱ. Database Replication
데이터베이스 복제와 함께, 장애 발생 시 다른 노드가 복제된 데이터로 작업을 이어받아 애플리케이션 중단을 방지.
ⅲ. Distributed Storage
데이터가 여러 노드에 분산되어 저장되고, 하나의 노드가 장애 발생 시 다른 노드에서 데이터를 제공.
'어플리케이션' 카테고리의 다른 글
DNS 캐시 (DNS Cache)에 대해 알아보겠습니다. (0) | 2024.12.10 |
---|---|
DNSSEC (Domain Name System Security Extensions)에 대해 알아보겠습니다. (1) | 2024.12.05 |
OAuth(Open Authorization)에 대해 알아보겠습니다. (0) | 2024.11.27 |
OTP(One-Time Password)에 대해 알아보겠습니다. (0) | 2024.11.25 |
IaC (Infrastructure as Code)에 대해 알아보겠습니다. (0) | 2024.11.21 |