마스터-슬레이브 구조
마스터-슬레이브 구조란 분산 시스템에서 데이터 수정을 맡는 마스터 한 노드와 그 변경을 복제받아 읽기를 나눠 맡는 슬레이브 노드들로 역할을 위계적으로 나눈 구조다. 쓰기를 한곳에 모아 관리가 단순해지는 대신 마스터가 단일 장애점이 되며, 동기·비동기 복제의 일관성-지연 상충과 마스터 장애 시 선거·페일오버가 핵심 쟁점이다.
목차
1. 개요
마스터-슬레이브 구조란 여러 컴퓨터가 협력하는 분산 시스템에서 노드의 권한을 대등하게 두지 않고, 데이터를 고칠 수 있는 노드 하나(마스터)와 그 변경을 넘겨받아 읽기만 나눠 맡는 노드들(슬레이브)로 역할을 위계적으로 가른 구조다.1 쓰기 창구를 한곳으로 모으면 '누가 진짜 최신값인가'를 다툴 일이 줄어 관리가 단순해지는 대신, 그 한 노드가 멈추면 전체가 흔들리는 약점을 안는다. 그래서 복제로 슬레이브에 사본을 뿌려 읽기 부하를 나누고, 마스터가 쓰러지면 남은 노드가 새 마스터로 올라서게 해 그 약점을 메운다. 분산 파일 시스템에서 한 노드가 전체를 관리하고 나머지가 데이터를 나눠 맡는 구성이 이 골격의 대표 사례이며, 슬레이브로 흩어지는 읽기 요청은 로드밸런싱으로 고르게 나누고 자주 읽는 값은 캐시 메모리에 얹어 더 빠르게 만든다. 모든 노드가 대등한 피어 구조와 짝을 이루는, 노드 역할 설계의 두 축 가운데 하나다.2
2. 상세
2.1. 역할의 비대칭 — 쓰기는 하나, 읽기는 여럿
한 노드만 데이터 변경(쓰기)을 맡고 나머지는 그 결과를 받아 읽기에만 쓰는 것이 이 구조의 뼈대다. 쓰기 경로가 하나뿐이라 값이 서로 어긋날 여지가 줄고, 대신 폭주하기 쉬운 읽기 요청은 여러 슬레이브가 나눠 받아 처리량을 끌어올린다. 도서관에서 원본 장부는 사서 한 사람만 고치게 하고, 열람용 사본은 여러 창구에 두어 방문객이 나눠 보게 하는 상황에 가깝다.
2.2. 동기 복제와 비동기 복제 — 안전과 속도의 맞바꿈
마스터의 변경을 슬레이브로 옮기는 방식은 크게 둘로 갈린다. 동기 방식은 모든 슬레이브가 변경을 반영했다고 확인할 때까지 기다린 뒤 쓰기를 완료로 처리한다. 어느 노드에서 읽어도 같은 값이 나오지만 그 기다림만큼 응답이 느려진다. 비동기 방식은 마스터가 먼저 처리를 끝내고 슬레이브에는 시간차를 두어 흘려보낸다. 빠른 대신, 아직 변경이 닿지 않은 슬레이브를 읽으면 한 박자 지난 옛값(stale)이 나올 수 있다.3
2.3. 일관성과 가용성의 상충
'어디서 읽어도 늘 최신'이라는 성질(일관성)과 '언제 물어도 답이 온다'는 성질(가용성)을 동시에 최고로 끌어올리기는 어렵다. 최신을 보장하려고 모두의 동기화를 기다리면 지연이 커지고, 지연을 줄이려 먼저 응답하면 옛값이 섞인다. 이 맞바꿈은 마스터-슬레이브 설계에 늘 따라붙는 비용이다.
2.4. 페일오버와 선거 — 마스터가 쓰러졌을 때
마스터 집중의 최대 약점은 그 하나가 멈추면 쓰기가 통째로 막히는 단일 장애점이라는 데 있다. 이를 완화하는 절차가 페일오버다. 마스터가 정해진 시간 동안 응답이 없으면 장애로 판정하고, 남은 노드들이 표를 모아 새 마스터를 세워(선거) 그 역할을 넘겨받는다. '응답 없음이 이어짐(조건) → 장애 판정 → 승격(결과)'이라는 조건-절차 흐름으로 굴러간다.4
3. 수능에서는 이렇게 나온다
평가원은 이 구조를 서버 제품 지식이 아니라 관계를 읽는 문제로 낸다. 구체적인 출제 이력은 아래 위젯을 참조하라. 이런 각도로 나온다.
- 비교·대조: 중앙에 쓰기를 모으는 마스터-슬레이브와 모든 노드가 대등한 피어 구조를 나란히 놓고, '단순하지만 병목' 대 '견고하지만 조정 복잡'이라는 기준 차이를 판정하게 한다.
- trade-off 판정: 동기냐 비동기냐, 일관성이냐 가용성이냐를 놓고 한쪽을 높이면 다른 쪽 비용이 커진다는 상충을 선지에 심는다.
- 조건-절차 관계: 마스터 장애 → 선거 → 승격의 순서를 뒤섞거나 승격 조건을 슬쩍 바꿔 놓고 맞는지를 묻는다.
4. 헷갈리기 쉬운 것들
| 흔한 오해 | 왜 틀렸나 | 바르게 이해하기 |
|---|---|---|
| 마스터 노드가 죽으면 서비스가 통째로 멈춘다 | 다른 노드가 새 마스터로 올라서(페일오버) 서비스를 넘겨받는다 | 마스터 집중의 위험은 사본 유지와 자동 승격 절차가 상당히 덜어 준다는 흐름으로 이해한다 |
| 비동기 복제라면 슬레이브도 늘 최신값을 준다 | 비동기는 시간차 전달이라, 아직 반영 전인 슬레이브는 지난 값(stale)을 내줄 수 있다 | 빠름을 얻는 대신 잠깐의 옛값을 감수하는 구조다 |
| 슬레이브를 늘리면 모든 성능이 함께 좋아진다 | 읽기 분담과 안정성은 오르지만, 사본마다 최신으로 맞추는 동기화·쓰기 부담도 같이 커진다 | 가용성을 높이려는 쪽과 일관성 유지 비용은 한 몸으로 움직이는 trade-off다 |
5. 관련 개념
- 분산 시스템 — 여러 노드가 한 시스템처럼 동작하게 만드는 상위 구조. 이 문서는 그 노드 역할 설계의 한 갈래다
- 샤딩과 복제 — 슬레이브에 사본을 뿌리는 '복제'가 이 구조의 전제. 데이터를 '나눔'과 '겹침'으로 가르는 대비를 다룬다
- 분산 파일 시스템 — 관리 노드가 쓰기·관리를 맡고 저장 노드들이 블록을 나눠 두는, 이 골격의 대표 사례
- 로드밸런싱 — 여러 슬레이브에 읽기 요청을 고르게 흩어 주는 분배 장치
- 캐시 메모리 — 자주 읽는 값을 앞단에 얹어 슬레이브 부하까지 더는 성능 기법
각주
-
정의와 개념 서술은 평가원 기출 기반 배경지식 자료(기술·분산 시스템)의 심화 합성 자료를 따랐다. ↩
-
마스터-슬레이브의 반대편이 '피어 구조'다. 모두 대등해 단일 장애점은 줄지만, 여러 노드가 동시에 고치려 들 때 충돌을 맞추는 일이 까다로워진다. '중앙 집중=단순하지만 병목' 대 '대등 분산=견고하지만 조정 복잡'으로 짝지어 두면 비교 문항이 한결 쉬워진다. ↩
-
'동기 vs 비동기'는 이 단원의 핵심 대비쌍이다. 선지에서 '모두 반영될 때까지 기다렸다가 완료'가 보이면 동기, '먼저 끝내고 나중에 전달'이 보이면 비동기로 갈라 두면 함정 하나를 미리 지운다. ↩
-
'선거'는 사람이 뽑는 절차가 아니라 남은 노드끼리 표를 모아 새 마스터를 정하는 자동 과정이다. '조건(응답 없음) → 판정 → 승격'의 세 칸으로 외워 두면 순서를 뒤집는 함정에 강해진다. ↩
출제 사례(아직 매칭된 출제 기록이 없어요)
이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.
출제 기록이 확인되면 여기에 시험·지문·문항이 채워집니다.
이 문서를 가리키는 문서
잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.