Day 71 · 4/5
🌳 고급 인프라

로드밸런서(Load Balancer)가 뭔가요?

쉽게 이해하기

은행에 창구가 여러 개 있을 때, 입구에서 직원이 대기 줄을 보고 사람들을 빈 창구로 안내하는 것처럼, 로드밸런서는 들어오는 요청을 여러 서버에 골고루 나눠주는 교통정리 역할을 해요.

핵심 정리

여러 서버에 트래픽을 골고루 분산시켜 서비스 안정성을 높이는 장치

자세히 알아보기

로드밸런서는 들어오는 네트워크 트래픽을 여러 서버에 분산시키는 장치예요. 사용자가 늘어나면 서버 한 대로는 감당이 안 되는데, 여러 대를 두고 로드밸런서가 요청을 나눠주면 부하가 분산되어 서비스가 안정적으로 돌아가요. 실무에서는 AWS의 ELB(Elastic Load Balancer), Nginx, HAProxy 같은 도구를 많이 써요. 예를 들어 쇼핑몰 서버가 3대 있다면, 로드밸런서가 첫 번째 요청은 서버1, 두 번째는 서버2, 세 번째는 서버3으로 보내는 식이에요. 만약 서버2가 죽으면 자동으로 감지해서 나머지 서버로만 트래픽을 보내요. 로드밸런서는 여러 알고리즘을 쓸 수 있어요. 라운드 로빈(Round Robin)은 순서대로 돌아가며 분배하고, Least Connections는 현재 연결이 가장 적은 서버로 보내고, IP 해시는 같은 사용자를 항상 같은 서버로 보내요. 세션 데이터를 서버에 저장하는 경우 같은 사용자가 같은 서버로 가야 로그인 상태가 유지되는데, 이걸 세션 스티키(Session Stickiness)라고 해요. 클라우드 환경에서는 Auto Scaling과 함께 쓰면 효과적이에요. 트래픽이 많아지면 서버를 자동으로 늘리고, 로드밸런서가 새 서버에도 트래픽을 분배해요. 반대로 트래픽이 줄면 서버를 줄여서 비용을 절약할 수 있어요.