본문 바로가기

사는 이야기/펌킨도서관

Galera Cluster 환경을 위한 로드밸런싱 옵션

Galera Cluster는 매우 유명한 오픈 소스 기반의 데이터베이스 클러스터링 솔루션입니다. 데이터베이스 환경을 왜 클러스터로 묶나요? 고가용성 보장을 위해서요. MySQL, MariaDB 등을 대규모로 운영하는 조직에서 고가용성 확보를 위해 Galera Cluster를 사용합니다. 



Galera Cluster는 멀티 마스터 구조를 가져갑니다. 이를 통해 액티브-액티브 구성의 클러스터 환경에서 읽기와 쓰기 작업이 어떤 노드에서도 언제나 가능합니다. 이게 가능한 이유는 복제가 노드 간에 지속해서 일어나기 때문입니다. Galera Cluster는 클라우드와 궁합도 좋습니다. WAN 기반으로 여러 위치에 데이터베이스 노드를 운영할 때도 유용하게 쓰일 수 있습니다. 


본론으로 돌아와 Galera Cluster 관련 로드밸런싱 옵션은 어떤 것이 있을까요? 크게 네 가지입니다. 



대략 설명을 하자면 HAProxy는 따로 말할 필요 없는 유명 오픈 소스 기반 TCP/HTTP 로드밸런서입니다. Pen 역시 오픈 소스 로드밸런서인데, SQL 트래픽을 HAProxy보다 더 잘 처리합니다. Galera Load Balancer는 Pen에서 영감을 받아 개발된 것입니다. 


이 중 무엇을 쓸 것인지는 조건에 따라 최선의 선택이 다를 수 있습니다. 오픈 소스 기반 솔루션은 소프트웨어 기반입니다. 따라서 성능에 한계가 분명합니다. 높은 성능 보장이 필요한 조건의 경우 상용 L4/L7 스위치가 좋은 대안이 됩니다. L4/L7 스위치가 MySQL, MariaDB 노드를 서브할 수 있게 구성하면 높은 성능을 유지할 수 있습니다. 


관련해 전용 하드웨어 기반으로 Galera Cluster를 활용하고 싶다면, 펌킨네트웍스로 문의 바랍니다.