1. 리플리카 셋의 개념과 동작원리

* 리플리카 셋 (ReplicaSet)

: primary 서버 - 리플리카셋에서 첫번째 입력을 담당하는 서버

: secondary 서버 - primary 서버를 제외한 나머지 서버

: primary 서버에 문제가 생기면 자동으로 secondary 서버에서 I/O를 담당함

* 리플리카 셋 주요 특징

: primary  서버는 secondary 서버의 상태를 2초단위로 heartbeat 확인

: secondary 서버가 중단되도 primary는 그대로 작동

: 이후 secondary서버가 복구되면 oplog를 전달하여 동기화

: primary 서버가 중단되면 secondary 서버가 primary서버로 됨

* 동작원리

: 한개의 primary와 두개의 secondary로 구성

: 자신을 제외한 다른 노드가 죽었는지 주기적으로 heartbeat 검사

* 복제 시스템 한계

: 한 복제 집합을 구성할 수 있는 노드 최대 개수는 12개

: 투표할 수 있는 노드 최대 개수는 7개

: 마스터와의 통신지연 만큼의 슬레이브의 데이터 동기화 차이

: 동기화를 미처 못하고 죽었을 시 데이터 손실

: 저널링 파일에 데이터를 저장하는 경우에도 주기 사이의 데이터 손실

2. 리플리카셋 시스템 구성

: 서버 만들기

> mongod --replSet 리플리카셋이름 -dbpath 경로 -port 포트번호    //    리플리카 셋 이름은 모두 동일해야함.

> mongod --replSet 리플리카셋이름 -dbpath 경로 -port 포트번호

> mongod --replSet 리플리카셋이름 -dbpath 경로 -port 포트번호

* 셋으로 만들기

> mongo localhost:10000     //    프라이머리 셋에 접속

> var config = {_id:'리플리카셋명', members:[{_id:0, host: 'localhost:10000'},{_id:1, host: 'localhost:10001'},{_id:2, host: 'localhost:10002'}]}

> rs.initiate(config);    //    동기화 시작



'프로그래밍 > NoSQL - MongoDB' 카테고리의 다른 글

MongoDB 집계 명령 & 리모트 명령  (0) 2017.04.04
MapReduce  (0) 2017.04.04
MongoDB를 이용한 복제 방법 살펴보기  (0) 2017.04.04
MongoDB 샤딩  (1) 2017.04.03
MongoDB Index기능  (0) 2017.04.03

+ Recent posts