(MongoDB) Replica Set Primary
* Primary는 write Operation을 적용한 후 그 operation을 primary`s oplog에 기록한다.
Secondary members 는 이 로그를 replicate하고 그들의 데이터셋에 그 operation을 적용한다.
그렇다면 데이터를 복제하는 것이 아니라, 로그를 복제하고 그 해당 로그로 작업을 수행시켜 데이터를 만드는 것인가?
위 그림은 3 member의 replica set을 보여준다. 만약 primary가 이용 불가능 해지면
남은 녀석들로 election을 선정한다.
* 몇가지 상황에서는 replica set의 두 노드가 일시적으로 자신들이 primary라고 믿는 경우가 생긴다. but at most, one of them will be able to complete writes with
Secondary members 는 이 로그를 replicate하고 그들의 데이터셋에 그 operation을 적용한다.
그렇다면 데이터를 복제하는 것이 아니라, 로그를 복제하고 그 해당 로그로 작업을 수행시켜 데이터를 만드는 것인가?
모든 멤버들( sencondary, primary)은 read operation을 허용한다. 그러나 default적으로 애플리케이션은 그것의 read 작업을 primary에 직접적으로 한다. 이러한 디폴트값은 변경가능하다.
레플리카셋에서 무조건1개의 primary는 필요하다.
위 그림은 3 member의 replica set을 보여준다. 만약 primary가 이용 불가능 해지면
남은 녀석들로 election을 선정한다.
* 몇가지 상황에서는 replica set의 두 노드가 일시적으로 자신들이 primary라고 믿는 경우가 생긴다. but at most, one of them will be able to complete writes with
{ w: "majority" }
write concern
댓글
댓글 쓰기