시스템 설계 · 기초
대용량 트래픽 처리 시 '로드 밸런서(Load Balancer)'가 왜 필수적인 역할을 하는지 설명하고, 주요 기능 몇 가지를 언급해주세요.
힌트 · 로드 밸런서는 여러 서버에 트래픽을 효율적으로 분산하여 과부하를 방지하고, 서버 장애 시 트래픽을 우회시켜 시스템의 가용성을 높입니다.
트래픽 분산고가용성헬스 체크세션 유지확장성
모범답안
대용량 트래픽 처리 시 로드 밸런서는 시스템의 안정성과 성능을 유지하는 데 필수적인 역할을 합니다. 쉽게 말해, 여러 대의 서버에 트래픽을 나눠주는 교통 정리 역할이라고 생각하시면 됩니다.
로드 밸런서가 필요한 이유는 크게 두 가지입니다. 첫째, 트래픽 분산을 통해 특정 서버에 과부하가 걸리는 것을 방지합니다. 둘째, 고가용성을 확보해줍니다. 만약 서버에 장애가 발생하면, 로드 밸런서가 자동으로 해당 서버로의 트래픽을 다른 정상적인 서버로 우회시켜 서비스 중단을 최소화합니다.
주요 기능으로는 서버의 상태를 주기적으로 확인하는 헬스 체크, 특정 사용자의 요청을 동일한 서버로 계속 연결해주는 세션 유지, 그리고 트래픽 증가에 따라 서버를 쉽게 추가할 수 있도록 해주는 확장성 지원 등이 있습니다. 이러한 기능들을 통해 로드 밸런서는 시스템의 안정적인 운영을 가능하게 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 대용량 트래픽 설계 면접 질문
- 시스템의 '확장성(Scalability)'과 '성능(Performance)'은 어떤 차이가 있으며, 각각 대용량 트래픽 설계 시 어떤 관점에서 중요하게 고려되어야 하나요?
- 시스템 확장 방식 중 '수직 확장(Vertical Scaling)'과 '수평 확장(Horizontal Scaling)'의 개념을 설명하고, 각각의 장단점을 비교해주세요.
- 웹 서비스에서 'CDN(Content Delivery Network)'을 사용하면 대용량 트래픽 상황에서 어떤 이점을 얻을 수 있으며, 기본적인 동작 원리는 무엇인가요?
- 시스템 성능 향상 및 부하 감소를 위해 '캐싱(Caching)' 기법을 활용합니다. 캐싱의 기본 원리와 어떤 종류의 데이터를 캐싱할 수 있는지 설명해주세요.
- 데이터베이스의 데이터가 너무 많아질 때 발생하는 성능 문제를 해결하기 위한 방법 중 하나인 '샤딩(Sharding)' 또는 '파티셔닝(Partitioning)'의 개념을 설명해주세요.