데이터 & 인프라
Kudu Failover Architecture
작성자: 김영찬
- Kudu는 Master Server와 Tablet Server로 구성
- Tablet은 table의 일부를 저장하는 저장소
- Tablet Server는 데이터 저장과 처리를 책임
- Master Server는 데이터는 저장하지 않고 메타데이터(스키마) 관리만 책임짐
- HA 모델에서는 복수(기본 3대)의 Master Server와 Tablet Server cluster로 구성
- 복수 Master Server에서 1대의 Leasder를 홀수의 Master 사이에서 선출. Leader Master는 client의 데이터 접근에 대한 책임을 짐
- Leader가 아닌 Master는 Follower라고 하고 leader의 cluster metadata를 동기화함
- 각각의 table은 최소 3대의 각기 다른 tablet serve로 복제되어 fault tolerant를 보장함
- Master Server와 마찬가지로 Tablet server간에서도 Leader Tablet Server를 선출함. 나머지는 Follower가 됨
- Leader와 follower 모두 읽기를 지원하나 쓰기는 Leader에서만 지원함
- Leader는operation를 follower에 확산하여 항상 동기화가 되고, Leader 중지시 Follower에서 다시 Leader를 선출함