리더가 둘이었다
클라우드 네이티브 아키텍처 · 고급 · 이론 5 · 퀴즈 5 · 실습 4
여러 대가 하나의 값을 함께 정하는 일을 밑바닥부터 다룹니다. 포트만 다른 프로세스 세 개로 Raft 의 선거와 로그 복제를 직접 구현하고, 리더를 나머지에서 떼어 내 같은 순간에 리더가 둘이 되는 상태를 만들어 봅니다. 그 뒤 회복했을 때 어느 쪽 기록이 버려지는지를 눈으로 확인하고, 같은 일을 진짜 etcd 세 멤버에서 다시 재현합니다. 끝나면 정족수와 임기를 용어가 아니라 손으로 아는 상태가 됩니다.
커리큘럼
타이머가 같으면 아무도 이기지 못한다
임기와 투표, 과반, 그리고 무작위 타임아웃의 이유
받은 것과 확정한 것
로그 일치성과 커밋 조건을 규칙으로 쓴다
리더가 둘이었다
분할 중의 두 리더와, 회복할 때 버려지는 기록
로그는 무한히 자란다
스냅샷과 로그 압축, 그리고 복구가 새 클러스터를 만드는 이유
- 로그는 무한히 자란다 이론
- 퀴즈: 스냅샷과 압축 퀴즈
진짜 구현에서 다시 본다
etcd 세 멤버로 리더 이동과 정족수 상실을 재현한다