패스잇
시스템 설계 · 중급

시스템 확장 방식인 수평 확장(Horizontal Scaling)과 수직 확장(Vertical Scaling)의 개념을 설명하고, 각각의 장단점 및 실제 서비스 환경에서 어떤 기준으로 선택하게 되는지 비교 설명해 주세요.

힌트 · 자원 한계, 비용 효율성, 단일 장애점, 아키텍처 변경 용이성 등을 중심으로 비교하고 실제 적용 사례를 언급합니다.

분산 시스템CAP 이론확장성가용성비용

모범답안

수평 확장과 수직 확장은 시스템의 성능을 향상시키는 대표적인 방법입니다. 수직 확장은 서버 자체의 성능(CPU, RAM 등)을 높이는 방식이고, 수평 확장은 서버를 여러 대 추가하여 분산 처리하는 방식입니다.

수직 확장은 간단하게 성능을 올릴 수 있지만, 하드웨어 성능의 한계가 있고, 장애 발생 시 전체 시스템에 영향을 줄 수 있다는 단점이 있습니다. 반면 수평 확장은 이론적으로 무한대에 가까운 확장이 가능하고, 일부 서버에 장애가 발생해도 다른 서버들이 처리할 수 있어 안정적입니다. 하지만 분산 시스템을 구축해야 하므로 복잡도가 증가하고, 데이터 일관성 유지 등의 추가적인 고려 사항이 필요합니다.

실제 서비스 환경에서는 트래픽 증가 추이, 서비스의 특성, 예산 등을 고려하여 선택합니다. 초기에는 수직 확장으로 시작하여, 트래픽이 꾸준히 증가하고 안정성이 중요해지면 수평 확장으로 전환하는 경우가 많습니다. 예를 들어, 게임 서버는 초기에는 수직 확장으로 시작하지만, 사용자 수가 급증하면 수평 확장으로 전환하여 안정적인 서비스를 제공합니다.

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

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

함께 보는 대용량 트래픽 설계 면접 질문

← 대용량 트래픽 설계 면접 질문 전체 보기