LabHub
배우기 러닝패스 코스

리더가 둘이었다

클라우드 네이티브 아키텍처 · 고급 · 이론 5 · 퀴즈 5 · 실습 4

여러 대가 하나의 값을 함께 정하는 일을 밑바닥부터 다룹니다. 포트만 다른 프로세스 세 개로 Raft 의 선거와 로그 복제를 직접 구현하고, 리더를 나머지에서 떼어 내 같은 순간에 리더가 둘이 되는 상태를 만들어 봅니다. 그 뒤 회복했을 때 어느 쪽 기록이 버려지는지를 눈으로 확인하고, 같은 일을 진짜 etcd 세 멤버에서 다시 재현합니다. 끝나면 정족수와 임기를 용어가 아니라 손으로 아는 상태가 됩니다.

실습 시작하기

커리큘럼

타이머가 같으면 아무도 이기지 못한다

임기와 투표, 과반, 그리고 무작위 타임아웃의 이유

받은 것과 확정한 것

로그 일치성과 커밋 조건을 규칙으로 쓴다

리더가 둘이었다

분할 중의 두 리더와, 회복할 때 버려지는 기록

로그는 무한히 자란다

스냅샷과 로그 압축, 그리고 복구가 새 클러스터를 만드는 이유

진짜 구현에서 다시 본다

etcd 세 멤버로 리더 이동과 정족수 상실을 재현한다

참고 문서