MySQL HA, MHA에서 Orchestrator로 업그레이드!
by DD
8개월 전
조회수 5
MHA의 한계로 인해 Orchestrator 기반의 새로운 HA 표준을 개발
Orchestrator 클러스터 구성 및 Raft 알고리즘을 활용한 HA 구현
DNS Failover 기능 개발 및 배포 자동화를 통해 운영 효율성 증대
MHA의 한계와 Orchestrator 선택
MHA는 Perl 기반으로 개발되어 유지보수가 어려웠고, MySQL 버전 변화에 대한 대응이 미흡했다. Orchestrator는 MySQL Replication Topology를 관리하며, Raft 알고리즘을 통해 자체 HA를 지원한다. 따라서, 확장성 확보와 유지보수성 개선을 위해 Orchestrator를 선택했다.
Orchestrator 클러스터 구성 및 Raft 알고리즘
Orchestrator는 Raft 알고리즘을 사용하여 리더 선출 및 데이터 일관성을 보장한다. Split-Brain 현상을 방지하기 위해 과반수 투표를 통해 리더를 선출하고, 최소 3대 이상의 노드로 클러스터를 구성한다. 결과적으로 서비스 안정성을 높이고 데이터 무결성을 확보한다.
카카오 환경에 맞는 Orchestrator 적용
카카오 DBaaS 환경에 맞게 Protego라는 연동 시스템을 개발하여 DB 메타 정보를 제공하고, DNS Failover 기능을 추가했다. 배포 자동화를 통해 배포 시간 단축 및 휴먼 에러 최소화를 달성했다. 따라서, 운영 효율성을 극대화했다.