kjh00n의 기록저장소

Galera Cluster 본문

파이널 프로젝트

Galera Cluster

kjh00n 2025. 2. 6. 18:57

Galera Cluster의 특징

  1. 동기식 복제 (Synchronous Replication)
    • 모든 노드는 동기식으로 데이터를 복제한다. 즉, 한 노드에서 트랜잭션이 커밋되면, 다른 모든 노드에 즉시 반영되어 데이터 일관성을 보장한다
    • 데이터가 여러 노드에 실시간으로 복제되므로, 장애가 발생한 노드가 있을 경우에도 다른 노드에서 정상적인 서비스를 제공할 수 있다.
  2. 멀티-마스터 (Multi-Master) 복제
    • Galera는 다수의 노드에서 읽기/쓰기 작업을 동시에 처리할 수 있다. 이를 통해 부하 분산이 가능하며, 성능 향상과 트래픽 증가에 대응할 수 있다.
    • 모든 노드는 읽기와 쓰기를 처리할 수 있어 단일 실패 지점(Single Point of Failure) 없이 클러스터가 운영된다.
  3. 자동 복구 및 자동화된 재조정
    • Galera는 클러스터의 일부 노드가 실패하더라도 자동으로 복구하고, 장애가 발생한 노드를 제외한 나머지 노드가 계속해서 운영된다.
    • Split-Brain 문제를 방지하기 위해 quorum 메커니즘을 사용해 데이터 무결성을 유지한다.
  4. 트랜잭션 일관성 보장
    • Galera는 ACID(Atomicity, Consistency, Isolation, Durability)를 준수하여 트랜잭션의 안정성을 보장한다.
    • Write-Set 방식으로 트랜잭션을 관리하고, 모든 노드에서 동일한 트랜잭션이 동시에 반영된다.

 

Galera Cluster의 구성 요소

  1. 노드(Node)
    • 클러스터 내의 각 서버노드라고 불린다. 각 노드는 Galera의 복제 시스템에 참여하며, 데이터를 실시간으로 복제한다.
  2. Write Set (WSREP)
    • WSREP(Write Set Replication Protocol)는 Galera의 핵심 프로토콜로, 각 노드에서 실행된 트랜잭션을 다른 노드에 복제하는 역할을 한다.
    • 트랜잭션을 Write Set으로 변환하여 다른 노드에 전송하며, 트랜잭션이 모든 노드에서 동기식으로 처리된다.
  3. Galera Provider
    • Galera Cluster의 복제를 담당하는 Galera Provider는 클러스터의 모든 노드에서 실행된다. MariaDB와 MySQL의 Galera 플러그인은 이 프로세스를 담당한다.
  4. Cluster Control
    • Galera는 노드 간의 상태를 추적하고, 클러스터의 상태구성을 관리하는 Galera Cluster Control 기능을 갖추고 있다.
    • 클러스터의 상태가 joined, synced 등으로 바뀌며, 클러스터 내의 각 노드는 자동으로 동기화 상태를 유지한다.
  5. Quorum
    • Quorum은 클러스터가 다수결 원칙에 의해 정상 동작할 수 있도록 보장하는 메커니즘이다.
    • 클러스터에서 장애가 발생했을 때, quorum을 유지할 수 있는 노드들만 정상적으로 동작할 수 있다.

'파이널 프로젝트' 카테고리의 다른 글

MariaDB Galera Cluster 구성  (0) 2025.02.06