Database/RDB

HA(High Availability, 고가용성) 개념

Jinn 2026. 7. 31. 15:19

1. Replication

Replication은 Primary DB의 데이터를 Replica DB로 복제하는 것이다.

Write -> Primary -> Binary Log 전송 -> Replica

 

Primary에서 발생한 Write(INSERT, UPDATE 등) 작업이 Binary Log를 통해 Replica에 전달되어 복제한다.

 

Replication을 사용하는 이유는 아래와 같다.

  • 데이터 복제
  • Read 부하 분산
  • Failover
  • 백업 편리

 

2. HA(High Availability, 고가용성)

고가용성이란 서비스를 가능한 중단 없이 제공하는 것을 의미한다.

Primary DB가 중단되더라도 다른 DB 서버가 이어받아 사용자는 서비스를 계속 이용할 수 있다.

Replication은 HA를 구현하기 위한 방법이다.

 

 

3. Failover(장애 전환)

Failover는 Primary 서버에 장애가 발생했을 때 Replica 서버를 새로운 Primary로 승격시켜 서비스 중단 시간을 줄이는 과정이다.

Failover가 빠를수록 서비스 중단 시간이 줄어들기 때문에 HA 구현에서 빠른 Failover는 매우 중요하다.

 

 

4. HA 구조(Active-Active, Active-Standby)

Active-Active

Active-Active

 

Active-Active는 두 서버 모두 서비스에 참여하는 구조이다.

두 서버 모두 읽기와 쓰기를 수행할 수 있다.

 

장점

  • 부하 분산 효과가 크다 (Write까지 분산)
  • Active 하나가 중단되어도 다른 Active로 중단 없이 서비스 운영이 가능하다

단점

  • 데이터 동기화 및 충돌 문제가 발생할 수 있다.
  • 운영 비용이 크다

 

Active-Standby

Active-Standby

 

Active 서버 하나만 운영하다가 장애 발생 시 Standby 서버를 사용하는 구조이다.

 

장점

  • 데이터 충돌 문제가 없다
  • 운영 난이도가 비교적 쉽다

단점

  • Standby 서버를 평소에는 활용하지 못한다
  • Active 장애 발생 시 Failover 시간이 걸린다

 

Primary(Read, Write) + Replica(Read) 구조는 둘 다 서비스에 참여하지만 Replica가 Write를 하지 않고, 장애 발생 시 승격 과정이 필요하므로 Active-Standby 구조로 본다.

 

* 참고로 해당 내용은 HA 아키덱처 관점에서의 내용이고 MySQL에서 사용하는 것은 아니다. 헷갈리지 말자.

 

 

 

 

 

▼ 함께 보면 좋은 글

 

[MySQL] Replication 구축하기

▼ 먼저 보면 좋은 글 Primary -> Binary Log 전송 -> Replica Primary에서 발생한 Write(INSERT, UPDATE 등) 작업이 Binary Log를 통해 Replica에 전달되어 복제한" data-og-host="pressky99.tistory.com" data-og-source-url="https://pressk

pressky99.tistory.com