본문 바로가기

분산 시스템

분산 시스템은 한 대로는 버거운 큰 일을 여러 대의 노드에 나누어 맡기고, 그 노드들이 협력해 사용자에게는 한 대처럼 보이게 하는 구조다. 용량·처리·고장이라는 한 대의 한계를 나누기·겹치기·나눠 보내기로 넘어서며, 그 과정에서 일관성·가용성·지연이 서로 맞바뀐다.

목차

1. 개요

분산 시스템이란 한 대로는 감당하기 어려운 큰 일을 여러 대의 컴퓨터, 곧 노드에 나누어 맡기고 그 노드들이 서로 협력해 사용자에게는 한 대처럼 보이게 만드는 구조다.1 컴퓨터 한 대가 버티는 저장 용량과 처리 속도에는 천장이 있고, 게다가 기계는 언제든 고장 날 수 있다. 이 세 가지 한계—용량·처리·고장—를 넘어서려는 것이 분산의 출발점이다. 그래서 데이터를 조각내 나누거나 같은 데이터를 여러 곳에 겹쳐 두는 샤딩과 복제, 큰 파일을 블록으로 쪼개 흩어 저장하는 분산 파일 시스템, 어느 노드가 무엇을 맡을지 위계를 정하는 마스터-슬레이브 구조, 자주 쓰는 데이터를 앞단에 미리 얹어 두는 캐시 메모리, 밀려드는 요청을 여러 서버로 고르게 나눠 보내는 로드밸런싱이 모두 이 큰 그림의 부품이다. 요청을 어느 서버로 흘려보낼지는 이름을 주소로 바꿔 주는 인터넷 주소 체계와도 맞닿는다. 수능 독서에서 이 개념은 용어 암기가 아니라 '한 대로는 부족하다'는 문제를 어떻게 푸는지 읽는 논리 문제로 나온다.2

2. 상세

2.1. 여러 대인데 한 대처럼 — 노드와 조율

분산 시스템의 첫 관문은 '여러 대인데 한 대처럼'이라는 착시다. 속을 들여다보면 여러 노드가 저마다 일부만 맡고 있지만, 사용자는 그 내부 분업을 몰라도 서비스를 쓸 수 있다. 이 착시를 유지하려면 노드들이 끊임없이 상태를 주고받으며 누가 무엇을 맡는지 조율해야 한다. 조율이 없으면 여러 대는 그저 따로 노는 여러 대일 뿐, 하나처럼 움직이지 못한다.

2.2. 나누기·겹치기·나눠 보내기

큰 그림은 세 동작으로 요약된다.3 첫째는 나누기다. 한 서버에 다 담기지 않는 데이터를 조각으로 쪼개 여러 서버에 흩으면 용량과 처리량의 천장을 넘는다. 둘째는 겹치기다. 똑같은 데이터의 사본을 여러 곳에 두면 한 곳이 죽어도 나머지가 그 일을 이어받는다. 셋째는 나눠 보내기다. 들어오는 요청 자체를 여러 서버로 고르게 흩뿌리면 한 곳에 몰리는 병목이 사라진다. 앞의 두 동작은 저장된 데이터를 다루고, 마지막 동작은 오가는 트래픽을 다룬다.

2.3. 일관성·가용성·지연은 서로 잡아당긴다

분산이 공짜는 아니다. 사본을 여러 곳에 두는 순간 '어느 사본을 읽어도 늘 같은 최신값이 나오는가'라는 물음이 생긴다. 모든 사본을 항상 똑같이 맞추려 들면(일관성) 맞춰질 때까지 기다리느라 응답이 느려지고(지연), 기다리지 않고 아무 사본이나 바로 돌려주면(가용성) 잠깐 옛값이 섞일 수 있다. 이 셋은 한쪽을 당기면 다른 쪽이 끌려오는 관계라, 결국 상황에 맞춰 어디에 무게를 둘지 고르는 문제로 바뀐다.4 이 상충을 어떻게 판단하느냐가 지문 독해의 한 축이 된다.

2.4. 단일 장애점 — 분산의 목적이자 함정

노드 하나가 멈추면 전체가 멈추는 지점을 단일 장애점이라 부른다. 분산을 하는 큰 이유 중 하나가 바로 이 단일 장애점을 없애는 것이다. 그런데 역설적이게도, 모든 결정을 한 노드에 몰아 주는 방식을 쓰면 그 노드가 새로운 단일 장애점이 된다. 그래서 그 노드가 죽으면 남은 노드끼리 새 대표를 뽑아 빈자리를 메우는데, 이 위계 구조의 자세한 이야기는 마스터-슬레이브 구조 문서에서 다룬다.

3. 수능에서는 이렇게 나온다

평가원은 분산 시스템을 스펙 암기가 아니라 과정을 논리로 따라가는 힘으로 묻는다. 구체적인 출제 이력은 아래 위젯을 참조하라. 이런 각도로 나온다.

  1. 단계 관계: 쓰기 다음에 복제, 그다음 확인처럼, 또는 요청·분배·처리·응답처럼 순서가 정해진 과정을 제시하고 특정 단계가 하는 일을 묻는다. 단계의 앞뒤를 슬쩍 바꿔 놓은 선지가 함정이다.
  2. 비교·대조: 나눔과 겹침, 중앙 집중과 대등 분산처럼 짝을 이루는 개념을 놓고 '무엇을 기준으로 갈리는가'를 묻는다.
  3. 맞교환(trade-off): 사본을 늘리면 안정성은 오르지만 맞추는 비용이 커지는 식으로, 한쪽 이득이 다른 쪽 손해로 되돌아오는 관계를 묻는다.
  4. 목적·수단의 인과: '고장이 잦다'는 문제 상황과 '그래서 복제로 대비한다'는 해결책을 바르게 연결짓는지 확인한다.

4. 헷갈리기 쉬운 것들

흔한 오해 왜 틀렸나 바르게 이해하기
서버를 많이 두기만 하면 곧 분산 시스템이다 대수만 늘린다고 여러 대가 한 대처럼 협력하지는 않는다 조율·복제·분배가 함께 설계돼 '한 대처럼' 묶여야 분산 시스템이다
서버를 늘리면 일관성·가용성·속도가 다 좋아진다 이 셋은 서로 잡아당기는 상충 관계라 동시에 최고가 될 수 없다 무엇을 얼마나 포기할지 고르는 선택 문제로 읽는다
단일 장애점은 서버 대수를 늘리면 저절로 사라진다 결정을 한 노드에 몰면 그 노드가 새 단일 장애점이 된다 복제와 자동 대표 선출로 완화하는 것이지 대수만의 문제가 아니다

5. 관련 개념

  • 샤딩과 복제 — 데이터를 나누는 샤딩과 겹치는 복제, 두 축을 함께 다룬다
  • 분산 파일 시스템 — 파일을 블록으로 잘게 나눠 여러 노드에 흩고 복제까지 하는 대표 사례
  • 마스터-슬레이브 구조 — 노드 역할을 위계로 나눈 구조와 그 약점인 단일 장애점
  • 캐시 메모리 — 자주 쓰는 데이터를 앞단에 얹어 응답을 앞당기는 성능 기법
  • 로드밸런싱 — 요청을 여러 서버로 고르게 흩뿌려 병목을 없애는 분배 기법
  • 인터넷 주소 체계 — 요청을 어느 서버로 보낼지 이름을 주소로 바꿔 찾아 주는 층

각주

  1. 정의와 개념 관계는 평가원 기출 기반 배경지식 자료(기술·분산 시스템)의 공식 문서 합성 서술을 따랐다.

  2. '여러 대인데 한 대처럼'이라는 착시가 이 단원의 입구다. 선지가 '분산 시스템은 사용자가 노드 개수를 직접 지정해 쓰는 방식'이라며 내부 분업을 사용자에게 떠넘기면 대개 함정이니, 착시의 방향을 먼저 붙들어 두자.

  3. '나누기·겹치기·나눠 보내기' 세 동사로 목차를 세워 두면, 분산 시스템 지문에 어떤 장치가 나오든 이 셋 중 하나에 꽂아 읽을 수 있다. 나누기는 샤딩, 겹치기는 복제, 나눠 보내기는 로드밸런싱·캐시 쪽이다.

  4. 일관성·가용성·지연을 삼각형으로 그려 두면 편하다. 한 꼭짓점을 세게 당기면 반대편이 늘어난다고 외워 두면, '셋 다 좋아진다'는 선지를 반사적으로 걸러낼 수 있다.

출제 사례(아직 매칭된 출제 기록이 없어요)

이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.

출제 기록이 확인되면 여기에 시험·지문·문항이 채워집니다.

이 문서를 가리키는 문서

잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.

다음 단계

이 개념, 실제 지문에서 훈련하기

수능특강·기출 지문 해설로 개념이 문항에서 어떻게 쓰이는지 직접 확인해보세요.

학습 자료 보러가기