← 질문 목록
#273깊이 0
Raft는 왜 과반수를 요구하는가?
두 무리가 동시에 결정을 내리는 것을 막으려면 겹치는 표가 있어야 한다. 과반수끼리는 반드시 하나 이상 겹친다.
노드 다섯에서 과반수는 셋이다. 어떤 두 무리를 잡아도 최소 하나를 공유한다. 겹침만으로는 부족하고, 한 임기에 한 번만 투표한다는 규칙이 함께 있어야 결정이 갈리지 않는다.
팔로워
후보
리더에게서 소식이 끊긴다
후보
리더
과반수의 표를 받았다
팔로워 (앞의 상태로 돌아갑니다)
임기가 같거나 높은 리더를 만났다
리더
팔로워 (앞의 상태로 돌아갑니다)
더 높은 임기를 보았다
임기 번호가 오래된 리더를 밀어낸다. 그물이 갈렸다가 붙었을 때 옛 리더가 돌아와도 자기 임기가 낮은 것을 보고 물러난다.
대가는 지연이다. 쓰기마다 과반수의 응답을 기다리므로 과반수를 채우는 마지막 응답만큼 걸린다. 느린 소수는 안 기다리지만 복제본을 늘린다고 쓰기가 빨라지지는 않는다.