시스템 설계 · 중급
로드 밸런서(Load Balancer)란 무엇이며, 주요 알고리즘을 설명해주세요.
힌트 · Round Robin, Least Connections, IP Hash, 가중치 기반 방식과 L4/L7 차이를 설명해보세요.
트래픽 분산가용성확장성라운드 로빈Least Connections
모범답안
로드 밸런서는 트래픽을 여러 서버에 분산시켜 서버의 가용성과 확장성을 높이는 역할을 합니다. 마치 교통 정리하는 경찰관처럼, 요청을 효율적으로 나눠주는 거죠.
주요 알고리즘으로는 먼저 라운드 로빈 방식이 있습니다. 서버들을 순서대로 돌아가면서 요청을 배분하는 가장 단순한 방식입니다. Least Connections 방식은 현재 연결 수가 가장 적은 서버에 요청을 보내 서버 부하를 균등하게 유지합니다. IP Hash 방식은 클라이언트 IP 주소를 해싱하여 특정 서버에 고정적으로 요청을 보내는 방식이고, 가중치 기반 방식은 서버 성능에 따라 가중치를 부여하여 요청을 분산합니다.
L4 로드 밸런서는 IP 주소와 포트 번호를 기반으로 트래픽을 분산하고, L7 로드 밸런서는 HTTP 헤더, URL 등 애플리케이션 레벨의 정보를 활용하여 더 정교한 트래픽 분산이 가능합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 시스템 설계 면접 질문
- QPS(Queries Per Second)란 무엇이며, 평균 QPS와 피크(Peak) QPS를 나누어 추정하는 이유는 무엇인가요?
- DAU(Daily Active User) 수치로부터 초당 요청 수나 저장 용량 같은 추정치를 어떻게 도출하나요?
- 로드 밸런서를 시스템 구성도의 어느 위치에 두며, 그 위치에서 어떤 역할을 하나요?
- 캐싱(Caching) 전략의 종류와 각각의 사용 시나리오를 설명해주세요.
- 데이터베이스 샤딩(Sharding)이란 무엇이며, 어떤 문제를 해결하나요?
- CAP 이론이란 무엇이며, 실제 분산 시스템 설계에 어떻게 적용되나요?