Load Balancer

Networking

개요

로드 밸런서는 들어오는 요청을 여러 서버에 분배해 한 서버에 부하가 몰리지 않게 하고, 전체 시스템의 가용성과 확장성을 높이는 장치입니다.

한 서버가 죽어도 건강한 서버로 트래픽을 우회시켜 무중단 서비스를 가능하게 합니다.

자세히

동작 계층에 따라 나뉩니다. L4 로드 밸런서는 TCP/UDP 수준에서 IP·포트만 보고 빠르게 분배하고, L7 로드 밸런서는 HTTP 헤더·경로·쿠키 같은 애플리케이션 정보를 보고 더 똑똑하게 라우팅합니다(예: `/api`는 API 서버로, `/img`는 이미지 서버로). L7은 리버스 프록시 기능과 상당 부분 겹칩니다.

분배 알고리즘으로는 라운드로빈, 최소 연결(least connections), 가중치, IP 해시 등이 있습니다. '세션 고정(sticky session)'은 같은 사용자를 같은 서버로 계속 보내 서버 메모리에 저장된 세션을 유지하지만, 서버 확장·장애 대응을 어렵게 하므로 세션을 외부 저장소(Redis 등)로 빼는 무상태 설계가 선호됩니다. 헬스 체크로 죽은 서버를 자동 제외하며, 로드 밸런서 자체의 이중화나 DNS 라운드로빈·애니캐스트로 로드 밸런서 계층의 단일 장애점도 방지합니다.

관련 타입