35. MongoDB Replication Part 5. - Usage of Slaves / Data Processing

Master 노드의 연산 부담을 줄이기 위해 slave 노드를 master 노드와 함께 데이터 처리 연산에 참여시키는 방법이 있습니다.

방법은 간단합니다. 일반적으로 slave를 지정하는 옵션인 --slave와 함께 master를 지정하는 옵션인 --master를 동시에 지정하는 것입니다.

예를 들면,

$ mongod --dbpath [SLAVE_DATA_PATH] --port [PORT_NUM] --slave --source localhost:3000 --master

와 같이 입력합니다.

Master와 slave 옵션을 동시에 지정하는 것이 꽤나 이상해 보일 수 있으나, slave 노드와 같이 master 노드의 데이터 복제 역할을 수행하는 동시에 master 노드와 같이 데이터 처리 역할 또한 수행하도록 하는 의미입니다.

이 때 주의할 사항은 slave 노드는 master 노드와 함께 데이터의 처리를 위한 용도로 사용하되, master 노드로부터 데이터가 복제되는 slave 노드에 대하여 데이터를 쓰도록 하지 않는 것입니다.

이럴 경우 master와 slave 노드 간 데이터가 완벽하게 동기화 되지 않는 사태가 발생할 수 있습니다.