
핵심요약
MHA는 2012년 Yoshinori Matsunobu가 개발한 MySQL 고가용성 솔루션으로, 대규모 MySQL 운영 환경에서 마스터 장애 시 자동 페일오버를 통해 서비스 연속성을 확보합니다.
MySQL High Availability (MHA) 개요
MHA의 개발 배경 및 목적
- MHA는 2012년 DeNA의 Yoshinori Matsunobu에 의해 개발된 오픈소스 솔루션입니다.
- 대규모 MySQL 운영 환경에서 데이터베이스의 고가용성(High Availability) 확보를 목표로 합니다.
- 마스터 서버 장애 발생 시 **자동 페일오버(Automated Failover)**를 통해 서비스 중단을 최소화하는 것이 핵심 목적입니다.
MHA의 핵심 기능 및 아키텍처
- Master ha_manager 데몬이 주기적으로 마스터 서버의 상태를 모니터링하여 장애를 감지합니다.
- 장애 발생 시, 가장 최신 데이터를 가진 슬레이브 서버를 찾아 새로운 마스터로 승격시킵니다.
- 데이터 유실을 최소화하기 위해 이진 로그(Binary Log) 이벤트를 수집하여 마스터-슬레이브 간 데이터 불일치를 보정합니다.
- 모든 슬레이브 서버가 새로운 마스터를 바라보도록 리플리케이션(Replication) 설정을 동적으로 업데이트합니다.
MHA의 운영 상 이점 및 적용 사례
- 서비스 연속성을 보장하여 예상치 못한 시스템 다운타임을 크게 줄여줍니다.
- 수동 개입 없이 신속한 장애 복구 프로세스를 통해 운영 효율성을 극대화합니다.
- 카카오와 같이 대규모 MySQL 인프라를 운영하는 기업들이 고가용성 확보를 위해 MHA를 성공적으로 도입하여 활용하고 있습니다.