패스잇
시스템 설계 · 기초

분산 시스템의 확장성(Scalability)이란 무엇이며, 수평 확장(Horizontal Scaling)과 수직 확장(Vertical Scaling)의 차이를 설명해 주세요.

힌트 · 시스템이 증가하는 부하를 처리할 수 있는 능력입니다. 수평 확장은 서버 수를 늘리는 것이고, 수직 확장은 단일 서버의 성능을 높이는 것입니다.

확장성수평 확장수직 확장탄력성분산 시스템

모범답안

분산 시스템의 확장성이란, 시스템이 증가하는 사용자 요청이나 데이터 처리량과 같은 부하를 얼마나 잘 감당할 수 있는지를 의미합니다. 즉, 시스템이 성능 저하 없이 더 많은 작업을 처리할 수 있는 능력을 말합니다.

확장성에는 크게 두 가지 방법이 있습니다. 첫 번째는 수평 확장(Horizontal Scaling)으로, 기존 서버에 더 많은 서버를 추가하여 부하를 분산시키는 방식입니다. 마치 여러 대의 작은 트럭으로 짐을 옮기는 것과 같습니다. 이 방식은 유연하고 비용 효율적이며, 단일 실패 지점을 줄여 탄력성을 높이는 데 유리합니다.

두 번째는 수직 확장(Vertical Scaling)으로, 기존 서버의 성능을 향상시키는 방식입니다. CPU를 더 좋은 것으로 교체하거나 메모리를 늘리는 것처럼, 단일 서버의 사양을 높이는 것입니다. 이는 마치 더 크고 강력한 트럭 한 대로 짐을 옮기는 것과 같습니다. 수직 확장은 구현이 비교적 간단할 수 있지만, 하드웨어 업그레이드에는 물리적인 한계와 비용이 따릅니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 분산 시스템 면접 질문

← 분산 시스템 면접 질문 전체 보기