본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

80일차 - MongoDB Replica Set

Replica Set

- HA Solution

Member

[Client Application ---> Primary ---> Secondary]

 

Primary

- Read/Write 요청 모두 처리

- Write를 처리하는 유일한 멤버

- Replica Set에 하나만 존재할 수 있음

 

Secondary

- Read에 대한 요청 처리

- 복제를 통해 Primary와 동일한 데이터 셋을 유지

- Replica Set에 여러 개 존재 가능

 

Fail-Over

Primary가 이용 불가능해지면 선출 알고리즘에 의해 Secondary 중 하나가 Primary로 승격된다.

Arbiter : 데이터를 들고 있지 않은, Primary 선출에만 참여하는 멤버(P-S-A 방식은 권장되지는 않음 => Secondary가 죽으면 Primary의 부하가 올라가기 때문 <=> P-S-S 방식은 Secondary 하나가 죽더라도 Primary는 전과 같음)

 

Oplog

- 각 멤버들의 데이터를 동일하게 유지

- 확인하는 방법

use local
show collections # oplog.rs 있는지 확인
db.oplog.rs.find() # namespace 넣어서 조회 가능