AI Briefing

카카오, MHA 대체할 MySQL HA 표준으로 Orchestrator 도입

·2025.09.30 00:00

핵심 내용

카카오는 2023년부터 R&D를 통해 MHA를 대체하는 Orchestrator 기반 HA 표준을 확립했다.

1 / 15

자세히 보기

카카오는 대규모 MySQL 운영 환경의 고가용성(HA) 확보를 위해 기존 MHA 기반 표준 구성을 Orchestrator 기반으로 전환했다. MHA는 2012년 개발된 이후 10년 넘게 패치 및 기능 추가가 중단되어 최신 MySQL 및 OS 버전 대응이 불가능했으며, Perl 언어로 작성되어 유지보수가 어려웠다. 또한 네트워크 장애 시 오동작이 빈번하고 Replica 서버 상태 기반의 유연한 HA 구성이 불가능하다는 한계가 있었다.

차세대 HA 솔루션 선정 및 구성

카카오는 2023년부터 R&D를 진행하여 MySQL Cluster, ProxySQL, Percona XtraDB Cluster 등 13가지 후보 솔루션을 검토한 끝에 Orchestrator를 최종 선정했다. Orchestrator는 Shlomi Noach가 개발한 오픈소스로, 복잡한 Replication 구조를 지능적으로 이해하고 Healing하는 데 초점을 맞췄다. 카카오는 Orchestrator 자체의 고가용성을 확보하기 위해 Raft 알고리즘을 적용한 클러스터 구성을 채택했다. Raft HA 구성은 최소 3대 이상의 홀수 노드로 구성되며, 리더 선출을 통해 Split-Brain 현상을 방지하고 데이터 일관성을 보장한다.

카카오 맞춤형 개발 및 운영 최적화

카카오는 Orchestrator를 내부 DBaaS 환경에 맞게 커스터마이징하여 Protego라는 연동 시스템을 구축했다. Protego는 Orchestrator와 카카오 DBaaS 환경 사이의 연동 기능을 제공하며, DB 메타정보를 관리한다. 또한, Replica 서버의 상태를 모니터링하여 장애 시 도메인 변경을 통해 트래픽을 우회하는 DNS Failover 기능을 자체 개발했다. 이 기능은 Replica 장애 발생 시 약 5분 내외의 시간 내에 다른 Replica로 도메인을 변경하여 서비스 연속성을 확보한다.

운영 방식 변경 및 기대 효과

Orchestrator 도입에 따라 MySQL의 장애 감지 로직이 변경되었다. Orchestrator는 Select 1 쿼리 결과와 SHOW REPLICA/SOURCE STATUS 정보를 기반으로 서버 상태를 판단한다. 이에 따라 네트워크 장애 시 Failover 소요 시간에 영향을 미치는 slave_net_timeout 시스템 변수 값을 조정하여 최적화했다. 카카오는 현재 MHA와 Orchestrator를 병행 운영 중이며, 3년 내 모든 시스템을 Orchestrator로 통합할 계획이다. 이를 통해 네트워크 장애로 인한 Failover 시간을 단축하고, 대규모 MySQL 환경의 모니터링 및 관리 효율성을 높일 것으로 기대하고 있다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.