kjh00n의 기록저장소
Galera Cluster 본문
Galera Cluster의 특징
- 동기식 복제 (Synchronous Replication)
- 모든 노드는 동기식으로 데이터를 복제한다. 즉, 한 노드에서 트랜잭션이 커밋되면, 다른 모든 노드에 즉시 반영되어 데이터 일관성을 보장한다
- 데이터가 여러 노드에 실시간으로 복제되므로, 장애가 발생한 노드가 있을 경우에도 다른 노드에서 정상적인 서비스를 제공할 수 있다.
- 멀티-마스터 (Multi-Master) 복제
- Galera는 다수의 노드에서 읽기/쓰기 작업을 동시에 처리할 수 있다. 이를 통해 부하 분산이 가능하며, 성능 향상과 트래픽 증가에 대응할 수 있다.
- 모든 노드는 읽기와 쓰기를 처리할 수 있어 단일 실패 지점(Single Point of Failure) 없이 클러스터가 운영된다.
- 자동 복구 및 자동화된 재조정
- Galera는 클러스터의 일부 노드가 실패하더라도 자동으로 복구하고, 장애가 발생한 노드를 제외한 나머지 노드가 계속해서 운영된다.
- Split-Brain 문제를 방지하기 위해 quorum 메커니즘을 사용해 데이터 무결성을 유지한다.
- 트랜잭션 일관성 보장
- Galera는 ACID(Atomicity, Consistency, Isolation, Durability)를 준수하여 트랜잭션의 안정성을 보장한다.
- Write-Set 방식으로 트랜잭션을 관리하고, 모든 노드에서 동일한 트랜잭션이 동시에 반영된다.
Galera Cluster의 구성 요소
- 노드(Node)
- 클러스터 내의 각 서버는 노드라고 불린다. 각 노드는 Galera의 복제 시스템에 참여하며, 데이터를 실시간으로 복제한다.
- Write Set (WSREP)
- WSREP(Write Set Replication Protocol)는 Galera의 핵심 프로토콜로, 각 노드에서 실행된 트랜잭션을 다른 노드에 복제하는 역할을 한다.
- 트랜잭션을 Write Set으로 변환하여 다른 노드에 전송하며, 트랜잭션이 모든 노드에서 동기식으로 처리된다.
- Galera Provider
- Galera Cluster의 복제를 담당하는 Galera Provider는 클러스터의 모든 노드에서 실행된다. MariaDB와 MySQL의 Galera 플러그인은 이 프로세스를 담당한다.
- Cluster Control
- Galera는 노드 간의 상태를 추적하고, 클러스터의 상태와 구성을 관리하는 Galera Cluster Control 기능을 갖추고 있다.
- 클러스터의 상태가 joined, synced 등으로 바뀌며, 클러스터 내의 각 노드는 자동으로 동기화 상태를 유지한다.
- Quorum
- Quorum은 클러스터가 다수결 원칙에 의해 정상 동작할 수 있도록 보장하는 메커니즘이다.
- 클러스터에서 장애가 발생했을 때, quorum을 유지할 수 있는 노드들만 정상적으로 동작할 수 있다.
'파이널 프로젝트' 카테고리의 다른 글
MariaDB Galera Cluster 구성 (0) | 2025.02.06 |
---|