Skip to content

고가용성 ​

HA(High Availability, 고가용성)는 서버 한 대가 죽어도 서비스가 멈추지 않고 이어지게 하는 성질이다. MySQL은 복제(replication)로 같은 데이터를 가진 서버를 여러 대 둔다. 쓰기를 받던 서버가 죽으면 다른 서버가 쓰기를 넘겨받아야 하는데, 이 일을 장애 조치(failover)라 하고 이것을 사람 손 없이 자동으로 하는 것이 핵심이다. MySQL의 공식 해법은 그룹 복제(Group Replication) 위에 만든 InnoDB 클러스터(InnoDB Cluster)다. 사실 기준은 MySQL 8.4다.

학습 순서 ​

  1. 그룹 복제와 InnoDB 클러스터 — 고가용성 목표와 장애 조치, 그룹 복제의 합의와 충돌 검사(certification) (면접 비중: 중간)
  2. 그룹 복제와 InnoDB 클러스터 2 — 싱글 프라이머리 모드(single-primary mode)와 멀티 프라이머리 모드(multi-primary mode), 장애 감지와 정족수(quorum) (면접 비중: 중간)
  3. 그룹 복제와 InnoDB 클러스터 3 — 클러스터를 만들고 관리하는 MySQL Shell과 연결을 알맞은 멤버로 보내는 MySQL Router로 묶은 InnoDB 클러스터, 요구사항·제약 (면접 비중: 중간)
  4. 그룹 복제와 InnoDB 클러스터 4 — 다른 멤버에서 커밋(commit)한 값이 내 읽기에 언제부터 보이게 할지 정하는 읽기 일관성 수준, 과반수 멤버를 잃었을 때의 정족수 손실 복구 (면접 비중: 중간)