대용량 처리 이해/MongoDB

Replica Set

훈지런 2023. 1. 1. 18:00

Replica Set사용 목적이 고가용성(HA)이기 때문에 각각 다른 서버에 설치되어있어야 목적에 맞게 사용한다고 볼 수 있다.

Fail-Over


Replica Set에서 Primary가 죽으면 write는 누가 해주나?
서로 Hartbeat를 주고받으며 서로 사라 있는지 확인하고 있다가 죽은 게 확인되면 내부적인 기준에 의해 투표를 진행해서 Primary로 정해진다.
따라서 Replica Set 멤버의 구성을 최소 3 이상, 홀수로 정하는 걸 추천한다.

Oplog


Oplog를 이용해서 Replica Set내의 데이터를 동일하게 유지하게 함.
1. 쓰기 요청이 Primary로 들어온다.
2. 적용 후 Oplog에 변경사항을 기록한다.
3. 각 Secondary는 비동기적으로 Oplog의 값을 복사해 온다.
     1. Secondary는 Primary를 통해서만 가져오는 게 아니고 다른 Secondary를 통해서도 데이터를 가져와서 최신화한다.

요약


  • Reclica Set은 HA솔루션이다.
  • 데이터를 들고 있는 멤버의 상태는 Primary와 Secondary가 있다.
  • Secondary는 선출을 통해 과반수의 투표를 얻어서 Peimary가 될 수 있다.
  • Arbiter는 데이터를 들고 있지 않고 Primary 선출 투표에만 참여하는 멤버이다.
  • Replica Set은 Local Database의 Oplog Collection을 통해 복제를 수행한다.

'대용량 처리 이해 > MongoDB' 카테고리의 다른 글

일관성 제어  (0) 2023.02.15
Aggregation  (0) 2023.01.29
Sharded Cluster  (0) 2023.01.28
MongoDB 구조  (0) 2022.12.31
MongoDB 개요  (0) 2022.12.30