다섯 살도 알 수 있게 · SRE
스플릿 브레인이 뭐예요?
스플릿 브레인을 연결이 끊긴 사이 관제실 둘이 서로 자기가 당번이라고 우기는 이야기로 풀어봤어요.
연결이 끊긴 사이 둘 다 자기가 당번이래요.서로 다른 지시가 동시에 나가요.
통신선이 끊기면 서로 상대가 죽은 줄 알아요.확인할 방법이 없으니 각자 판단해 버려요.
둘 다 혼자 당번이라 믿고 동시에 지시해서 공원이 어긋나요.이게 스플릿 브레인이에요.
홀수로 둬요3, 5처럼요
과반 못 모으면 멈춰요안전 모드예요
복구되면 하나만 남겨요정리해요
평소에 연습해 둬요가짜 훈련으로요
과반수로만 당번을 인정하면 우기는 일이 없어요.홀수로 두고, 끊기면 둘 다 멈추게 해요.
이미 나간 지시는 되돌리기 어려워요.그래서 예방이 최선이에요.
한 줄로
스플릿 브레인 = 연결이 끊긴 관제실 둘이 각자 자기가 당번이라 믿고 동시에 지시를 내려 공원이 어긋나는 일. 홀수로 두고 과반수로만 인정해서 막아요.
네트워크 파티션(통신 단절) 때문에 분산 시스템의 두 부분이 각자 리더라고 믿는 상태예요. 쿼럼(과반수)을 요구하면 양쪽 다 과반을 못 채워 스스로 멈추므로 막을 수 있어요. 가짜 리더를 강제로 끄는 걸 펜싱이라 해요.
어른들은 이렇게 불러요
- 스플릿 브레인
Split-brain - 관제실 둘이 서로 자기가 진짜라고 우기는 상태. 지시가 어긋나 공원이 흔들려요.
- 네트워크 파티션
Network partition - 관제실 사이 통신선이 끊기는 일. 스플릿 브레인의 원인이에요.
- 쿼럼
Quorum - 당번으로 인정받으려면 넘어야 하는 과반수. 과반을 못 채우면 스스로 멈춰요. → 여러 관제실이 손 들어 정하기
- 펜싱
Fencing - 가짜 당번을 강제로 끄는 일. 정리 단계에서 해요.
- 홀수 노드
Odd node count - 관제실을 3, 5처럼 홀수로 두는 것. 과반수가 애매해지는 걸 막아요.
- 안전 모드
Safe mode - 과반을 못 모으면 스스로 멈추는 것. 어긋난 지시를 내기 전에 멈춰요.
- 리더 선출
Leader election - 복구된 뒤 당번을 다시 정하는 투표. → 여러 관제실이 손 들어 정하기
- 다중 리전
Multi-region - 관제실이 서로 다른 도시에 있을 때도 같은 위험이 있어요. 도시 하나를 통째로 잃어도 버티려는 설계예요.
다음 이야기
정확함과 항상 열림, 둘 다는 못 가져요 →