더북(TheBook)

마스터-슬레이브 모델의 장점은 단순함에 있다. 클러스터에 있는 서버들은 마스터 서버와만 통신하면 된다. 모든 쓰기 요청은 마스터가 받아서 처리하므로 쓰기 작업 요청을 받은 여러 서버 간의 충돌을 해결하거나 쓰기 작업을 조정할 필요가 없다.

마스터-슬레이브 복제 모델의 단점은 마스터 서버가 고장 나면 이 클러스터가 쓰기 작업을 받아서 처리할 수 없다는 것이다. 이는 클러스터의 가용성에 좋지 않은 영향을 준다. 이런 마스터 서버를 단일 장애점single point of failure이라고 한다. 이는 시스템 구성 요소 중에서 동작하지 않으면 전체 시스템이 중단되거나 쓰기 요청 작업 수신 같은 최소한의 시스템 핵심 기능을 잃게 만드는 요소를 말한다.

분산 시스템 설계자들은 몇 가지 프로토콜(규약)을 개발해서 클러스터에 있는 다른 서버가 고장 났을 때 작동 중인 서버에서 이를 감지할 수 있도록 했다. 예를 들어 한 서버가 클러스터에서 서버 하나를 무작위로 골라서 작동 여부를 묻는 간단한 메시지를 보낸다고 해보자. 만약 무작위로 선택한 서버가 응답하면 첫 번째 서버는 이 서버가 작동 중인지 알 수 있다.

마스터-슬레이브 구성에서는 여러 슬레이브 서버가 일정 시간 내에 마스터 서버로부터 메시지를 받지 못하면 마스터 서버에 문제가 발생했음을 알게 된다. 이렇게 마스터 서버가 먹통이 되면 슬레이브 서버들은 프로토콜을 초기화하고 슬레이브 서버 중 하나를 마스터 서버로 선출한다(그림 3-8). 새 마스터 서버가 작동하면 이 마스터 서버가 쓰기 작업 요청을 받고 나머지 클러스터는 읽기와 쓰기 작업 요청을 받아 작업을 계속 수행해 나간다.

▲ 그림 3-8 마스터 서버의 고장을 감지하면 슬레이브 서버들은 프로토콜을 초기화하고 새로운 마스터 서버를 선출한다

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.