시스템 설계 · 기초
시스템 확장 방식 중 '수직 확장(Vertical Scaling)'과 '수평 확장(Horizontal Scaling)'의 개념을 설명하고, 각각의 장단점을 비교해주세요.
힌트 · 수직 확장은 단일 서버의 자원을 늘리는 것이고, 수평 확장은 서버 수를 늘리는 것입니다. 수평 확장이 더 유연하고 비용 효율적일 수 있습니다.
Scale-upScale-out단일 서버분산 시스템고가용성
모범답안
"시스템 확장 방식에는 크게 수직 확장과 수평 확장이 있습니다. 수직 확장은 '스케일 업(Scale-up)'이라고도 하며, 단일 서버의 CPU, 메모리, 디스크 등 자원을 증설하여 성능을 향상시키는 방식입니다. 반면, 수평 확장은 '스케일 아웃(Scale-out)'이라고도 하며, 여러 대의 서버를 추가하여 시스템의 전체적인 처리 능력을 향상시키는 방식입니다.
수직 확장의 장점은 비교적 간단하게 시스템 성능을 향상시킬 수 있다는 점이지만, 하드웨어 성능의 물리적인 한계에 부딪힐 수 있고, 서버 장애 시 전체 시스템에 영향을 줄 수 있다는 단점이 있습니다.
수평 확장의 장점은 시스템의 유연성과 확장성이 뛰어나고, 서버 장애 시에도 다른 서버들이 역할을 분담하여 서비스 중단을 최소화할 수 있다는 점입니다. 하지만 시스템 구성이 복잡해지고, 데이터 일관성 유지 등의 관리 overhead가 증가할 수 있다는 단점이 있습니다."
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 대용량 트래픽 설계 면접 질문
- 시스템의 '확장성(Scalability)'과 '성능(Performance)'은 어떤 차이가 있으며, 각각 대용량 트래픽 설계 시 어떤 관점에서 중요하게 고려되어야 하나요?
- 대용량 트래픽 처리 시 '로드 밸런서(Load Balancer)'가 왜 필수적인 역할을 하는지 설명하고, 주요 기능 몇 가지를 언급해주세요.
- 웹 서비스에서 'CDN(Content Delivery Network)'을 사용하면 대용량 트래픽 상황에서 어떤 이점을 얻을 수 있으며, 기본적인 동작 원리는 무엇인가요?
- 시스템 성능 향상 및 부하 감소를 위해 '캐싱(Caching)' 기법을 활용합니다. 캐싱의 기본 원리와 어떤 종류의 데이터를 캐싱할 수 있는지 설명해주세요.