다섯 살도 알 수 있게 · SRE

스플릿 브레인이 뭐예요?

스플릿 브레인을 연결이 끊긴 사이 관제실 둘이 서로 자기가 당번이라고 우기는 이야기로 풀어봤어요.

내가 당번이야! A부터 켜요내가 당번이야! B부터 켜요연결이 끊긴 사이 둘 다 자기가 당번이래요

연결이 끊긴 사이 둘 다 자기가 당번이래요.서로 다른 지시가 동시에 나가요.

저쪽이 죽었나봐요저쪽이 죽었나봐요통신선이 끊기면 서로 상대가 죽은 줄 알아요

통신선이 끊기면 서로 상대가 죽은 줄 알아요.확인할 방법이 없으니 각자 판단해 버려요.

둘 다 "나 혼자 당번"이라 믿고 동시에 지시해요 — 스플릿 브레인한쪽은 A를 켜고 한쪽은 B를 꺼서, 공원이 어긋나요

둘 다 혼자 당번이라 믿고 동시에 지시해서 공원이 어긋나요.이게 스플릿 브레인이에요.

홀수로 둬요3, 5처럼요
과반 못 모으면 멈춰요안전 모드예요
복구되면 하나만 남겨요정리해요
평소에 연습해 둬요가짜 훈련으로요
막는 법홀수로 둬요(3, 5)과반 못 모으면 스스로 멈춰요복구되면 하나만 남겨요평소에 연습해 둬요과반수로만 당번을 인정하면 둘 다 우기는 일이 없어요

과반수로만 당번을 인정하면 우기는 일이 없어요.홀수로 두고, 끊기면 둘 다 멈추게 해요.

지시 세 개가 이미 나갔어요이미 나간 지시는 되돌리기 어려워요 — 그래서 예방이 최선이에요

이미 나간 지시는 되돌리기 어려워요.그래서 예방이 최선이에요.

한 줄로

스플릿 브레인 = 연결이 끊긴 관제실 둘이 각자 자기가 당번이라 믿고 동시에 지시를 내려 공원이 어긋나는 일. 홀수로 두고 과반수로만 인정해서 막아요.

네트워크 파티션(통신 단절) 때문에 분산 시스템의 두 부분이 각자 리더라고 믿는 상태예요. 쿼럼(과반수)을 요구하면 양쪽 다 과반을 못 채워 스스로 멈추므로 막을 수 있어요. 가짜 리더를 강제로 끄는 걸 펜싱이라 해요.

어른들은 이렇게 불러요

스플릿 브레인
Split-brain
관제실 둘이 서로 자기가 진짜라고 우기는 상태. 지시가 어긋나 공원이 흔들려요.
네트워크 파티션
Network partition
관제실 사이 통신선이 끊기는 일. 스플릿 브레인의 원인이에요.
쿼럼
Quorum
당번으로 인정받으려면 넘어야 하는 과반수. 과반을 못 채우면 스스로 멈춰요. → 여러 관제실이 손 들어 정하기
펜싱
Fencing
가짜 당번을 강제로 끄는 일. 정리 단계에서 해요.
홀수 노드
Odd node count
관제실을 3, 5처럼 홀수로 두는 것. 과반수가 애매해지는 걸 막아요.
안전 모드
Safe mode
과반을 못 모으면 스스로 멈추는 것. 어긋난 지시를 내기 전에 멈춰요.
리더 선출
Leader election
복구된 뒤 당번을 다시 정하는 투표. → 여러 관제실이 손 들어 정하기
다중 리전
Multi-region
관제실이 서로 다른 도시에 있을 때도 같은 위험이 있어요. 도시 하나를 통째로 잃어도 버티려는 설계예요.
다음 이야기
정확함과 항상 열림, 둘 다는 못 가져요 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →