핵심 인사이트 (3줄 요약)

  1. 본질: 스플릿 브레인(Split Brain)은 분산 시스템에서 네트워크 파티션으로 인해 각 노드 그룹이 자신이 마스터라고 믿고 독립 동작하는 현상이다. 데이터 불일치·충돌이 발생한다.
  2. 가치: 쿼럼(Quorum)은 스플릿 브레인 방지의 핵심 메커니즘이다. 과반수(⌊N/2⌋ + 1) 노드의 동의가 있을 때만 쓰기/마스터 선출이 가능하도록 하여, 네트워크 파티션 시 단 하나의 파티션만 활성화된다.
  3. 판단 포인트: CAP 정리에 따라 네트워크 파티션(P) 상황에서 일관성(C)과 가용성(A) 중 하나를 선택해야 한다. 쿼럼은 가용성을 희생하고 일관성을 선택하는 CP 시스템의 핵심 메커니즘이다.

Ⅰ. 개요 및 필요성

스플릿 브레인 시나리오:

  정상:
  [Node1(M)] ── [Node2] ── [Node3]
  M = Master, 모두 연결

  네트워크 파티션:
  [Node1(M)] ✗✗✗✗✗ [Node2(M)] ── [Node3]
      │                    │
      │                    │
  "내가 마스터!"        "내가 마스터!"
  독립 쓰기 수행        독립 쓰기 수행
  → 데이터 충돌!

쿼럼 해결:
  3노드 클러스터 쿼럼 = 2
  Node1 단독: 쿼럼 없음 → 읽기 전용
  Node2+3: 쿼럼 있음 → 정상 운영
  • 📢 섹션 요약 비유: 스플릿 브레인은 전화 불통된 두 지사가 각자 독립적으로 결정하는 것이다. 둘 다 "내가 본사 지시를 받은 책임자"라고 주장하며 다른 결정을 내리면 혼란이 생긴다.

Ⅱ. 아키텍처 및 핵심 원리

쿼럼 계산

노드 수쿼럼허용 장애 수
321
532
743
N⌊N/2⌋+1⌊N/2⌋

Raft 합의 알고리즘 (쿼럼 기반)

리더 선출:
  1. 팔로워 타임아웃 → 후보자 전환
  2. 후보자가 전체에 투표 요청
  3. 과반수 투표 획득 → 리더 선출
  4. 리더가 하트비트 전송 (팔로워 안정화)

로그 복제:
  1. 클라이언트 → 리더에 쓰기 요청
  2. 리더 → 팔로워에 로그 항목 복제
  3. 과반수 수신 확인 → 커밋
  4. 리더 → 클라이언트에 성공 응답
  • 📢 섹션 요약 비유: Raft 리더 선출은 반장 선거다. 아무도 없으면 후보가 손 들고, 반 과반수 이상의 동의를 받으면 반장(리더)이 된다. 과반수 없이는 아무도 반장이 될 수 없다.

Ⅲ. 비교 및 연결

비교RaftPaxosZAB (ZooKeeper)
이해 난이도쉬움어려움중간
목적범용 합의범용 합의ZooKeeper 전용
리더강한 리더다수 제안자강한 리더
사용etcd, Consul이론 표준ZooKeeper
  • 📢 섹션 요약 비유: Raft·Paxos·ZAB는 다수결 원칙의 세 구현이다. Paxos(복잡한 민주주의 헌법), Raft(단순화된 대통령제), ZAB(ZooKeeper 전용 의원내각제)로 각각 다른 실용성을 가진다.

Ⅳ. 실무 적용 및 기술사 판단

Redis Sentinel 스플릿 브레인 방어

min-replicas-to-write 1
min-replicas-max-lag 10

→ 최소 1개 복제본이 10초 이내 응답해야 쓰기 허용
→ 마스터 고립 시 쓰기 거부 (스플릿 브레인 방지)

Sentinel 쿼럼:
  3 Sentinel → 2개 동의 시 마스터 다운 판단
  → 페일오버 수행

etcd 쿼럼 실패 대응

상황: 5노드 중 3노드 장애 (쿼럼 3 요구)
→ etcd 쓰기/읽기 불가 (Kubernetes 제어 플레인 중단)

복구:
  1. 장애 노드 복구 시 자동 재합류
  2. 강제 복구: etcdctl snapshot restore
  3. 예방: 홀수 노드 유지, 다중 AZ 배포
  • 📢 섹션 요약 비유: etcd 쿼럼 실패는 국회 의사 정족수 미달이다. 의원 과반수 미달(쿼럼 없음)이면 법안 심의가 불가능(쓰기 불가)하다. Kubernetes는 etcd가 없으면 아무 결정도 못 한다.

Ⅴ. 기대효과 및 결론

기대효과내용
데이터 일관성스플릿 브레인으로 인한 충돌 방지
자동 복구쿼럼 기반 마스터 자동 선출
Kubernetes 안정성etcd 쿼럼이 클러스터 제어 보장

차세대 분산 합의 알고리즘으로 HotStuff·Tendermint·BFT(Byzantine Fault Tolerance) 변형들이 블록체인·Web3 환경에서 주목받고 있다. 악의적 노드(Byzantine 노드)까지 허용하는 BFT는 블록체인 합의 알고리즘의 이론적 기반이 된다.

  • 📢 섹션 요약 비유: BFT는 거짓말하는 선거인도 있는 투표 시스템이다. 일부 노드가 거짓 정보를 보내도 전체 합의가 올바르게 유지되는 것이 BFT의 목표다.

📌 관련 개념 맵

개념연결 포인트
CAP 정리파티션 시 C vs A 선택
Raft/Paxos쿼럼 기반 합의 알고리즘
etcdKubernetes 쿼럼 기반 분산 KV 저장소
Redis Sentinel쿼럼 기반 마스터 자동 페일오버
BFT악의적 노드 포함 분산 합의

📈 관련 키워드 및 발전 흐름도

[스플릿 브레인 — 네트워크 파티션 시 독립 동작 충돌]
    │
    ▼
[쿼럼 — 과반수 합의로 단일 파티션 활성화]
    │
    ▼
[Paxos/Raft — 쿼럼 기반 분산 합의 알고리즘]
    │
    ▼
[etcd/ZooKeeper — 쿼럼 기반 분산 코디네이션 서비스]
    │
    ▼
[BFT/HotStuff — 블록체인 Byzantine 내성 합의]

👶 어린이를 위한 3줄 비유 설명

  1. 스플릿 브레인은 전화가 끊긴 두 지사가 각자 독립적으로 결정하는 혼란 상황이에요!
  2. 쿼럼은 "과반수 동의가 없으면 결정하지 않는다"는 규칙으로 혼란을 막아요!
  3. 현대 분산 DB와 Kubernetes는 모두 쿼럼 원칙으로 안정적으로 운영돼요!