(MongoDB) Replica Set Primary

* Primary는 write Operation을 적용한 후 그 operation을 primary`s oplog에 기록한다.

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

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기