📌 로드 밸런서 (Load Balancer)란?
로드 밸런서는 여러 개의 서버로 들어오는 트래픽을 효율적으로 분배하는 역할을 하는 장치 또는 소프트웨어다.
즉, 특정 서버에 과부하가 걸리는 것을 방지하고, 성능을 최적화하면서 서비스의 가용성을 높이는 기술이다.
📌 필요한 이유
✔ 트래픽 분산: 사용자가 많아지면 한 서버가 감당하기 어렵기 때문에, 여러 서버로 요청을 나눠서 처리해야 한다.
✔ 고가용성(HA, High Availability): 특정 서버가 다운되더라도 다른 서버가 요청을 처리할 수 있어 장애에 강하다.
✔ 성능 최적화: 부하를 적절히 분산하면 응답 속도를 빠르게 유지할 수 있다.
✔ 스케일링 가능: 서버를 추가하면서 성능을 확장(Scale-out)할 수 있다.
📌 로드 밸런서의 동작 방식

1️⃣ 사용자의 요청이 로드 밸런서로 전달된다.
2️⃣ 로드 밸런서는 특정 알고리즘을 사용하여 요청을 적절한 서버로 보낸다.
3️⃣ 서버가 요청을 처리한 후 응답을 사용자에게 전달한다.
📌 로드 밸런싱 알고리즘 종류
로드 밸런서는 여러 방법으로 트래픽을 분배할 수 있다.
| 알고리즘 | 설명 |
| Round Robin | 순차적으로 요청을 각 서버에 분배 |
| Least Connections | 현재 연결 수가 가장 적은 서버에 요청을 전달 |
| IP Hash | 클라이언트 IP를 기반으로 특정 서버에 고정 연결 |
| Weighted Round Robin | 가중치를 설정하여 성능이 좋은 서버에 더 많은 요청을 분배 |
| Least Response Time | 응답 시간이 가장 짧은 서버를 선택 |
📌 로드 밸런서의 종류
로드 밸런서는 트래픽을 처리하는 OSI 7계층 모델을 기준으로 크게 L4, L7 로드 밸런서로 나뉜다.
✅ L4 (Layer 4) 로드 밸런서
- 전송 계층(TCP/UDP) 에서 트래픽을 분산함.
- IP 주소 및 포트 번호를 기준으로 요청을 나눔.
- 속도가 빠르지만, HTTP 헤더나 쿠키 같은 정보를 활용한 분산은 불가능.
- 예: AWS NLB (Network Load Balancer), LVS

✅ L7 (Layer 7) 로드 밸런서
- 애플리케이션 계층(HTTP/HTTPS) 에서 트래픽을 분산함.
- URL, 쿠키, 헤더 값을 분석하여 요청을 특정 서버로 전달할 수 있음.
- 더 정교한 트래픽 제어 가능.
- 예: AWS ALB (Application Load Balancer), Nginx, HAProxy

📌 로드 밸런서 사용 예시
💡 예제: 웹 서비스에 로드 밸런서를 적용한 구조
사용자 → 로드 밸런서 → 여러 대의 웹 서버 → 데이터베이스 서버
📌 예를 들어, www.example.com에 접속하는 사용자가 많아지면
로드 밸런서가 요청을 3개의 웹 서버(Server A, Server B, Server C)로 나눠준다.
✅ 장점:
- 한 서버가 과부하로 다운되더라도 다른 서버가 서비스를 제공 가능 (장애 대응)
- 트래픽이 분산되어 응답 속도 향상
- 서버를 추가하면서 확장 가능
📌 로드 밸런서가 적용된 실제 서비스 예시
1️⃣ 네이버, 카카오 같은 대형 웹 서비스
- 수백만 명의 사용자가 동시에 접속하므로 트래픽을 여러 서버로 분산해야 함.2️⃣ 유튜브, 넷플릭스 같은 동영상 스트리밍 서비스
- 많은 사용자가 동시에 영상을 시청하므로 트래픽을 최적화할 필요가 있음.3️⃣ 게임 서버
- 대규모 온라인 게임에서 한 서버에 접속자가 몰리지 않도록 요청을 나눠야 함.
📌 정리: 로드 밸런서는 이런 역할을 한다!
✅ 서버 여러 대에 트래픽을 균등하게 분산한다.
✅ 성능을 최적화하고 서비스 장애를 방지한다.
✅ 여러 가지 알고리즘(Round Robin, Least Connections 등)을 사용해 트래픽을 나눈다.
✅ L4는 TCP/UDP 단위로, L7은 HTTP/HTTPS 단위로 로드 밸런싱을 수행한다.
참고
'CS 준비' 카테고리의 다른 글
| [네트워크]XSS (0) | 2025.02.10 |
|---|---|
| 서브넷 마스크 & 게이트웨이 (0) | 2025.02.10 |
| [네트워크]DNS란? (0) | 2025.02.10 |
| [네트워크]3-Way Handshake & 4-Way Handshake (0) | 2025.02.10 |
| www.github.com을 브라우저에 입력하고 엔터를 쳤을 때 (1) | 2025.02.04 |