연산 작업 부하란 시스템이 처리해야 할 총 일의 양입니다. 이 글에서는 작업 부하를 쪼개고 조정하는 기본 원리를 설명합니다.
단일 기기 안에서
한 데스크톱 안에서도 작업 부하는 여러 프로세스와 스레드로 나뉩니다. 운영체제는 문맥 교환으로 동시성의 환상을 만들고, 멀티코어 CPU는 진짜 병렬 실행을 제공합니다.
다중 노드로 확장
작업이 커지면 여러 기기로 분산합니다. 이때 등장하는 개념은 다음과 같습니다.
- 작업 분할: 큰 일을 독립적인 단위로 쪼갭니다.
- 조정: 누가 무슨 일을 할지, 결과를 어디에 모을지 정합니다.
- 일관성: 부분 실패가 있어도 전체가 합리적인 결과를 냅니다.
주의: 분산 시스템에서 완벽한 일관성과 높은 가용성을 동시에 얻는 것은 본질적으로 어렵습니다. 설계는 우선순위를 선택합니다.
관련 기술 항목: 분산 시스템 조정에서 CAP과 합의를 다룹니다.