로드밸런서는 클라이언트와 서버 사이에서 요청을 여러 서버로 나눠 한 서버에 부하가 몰리지 않게 합니다. 서버를 늘리는 Scale-out 구조에서는 반드시 필요하며, 분배 방식은 알고리즘으로 정합니다.
1. 로드밸런서란
로드밸런서는 서버의 부하(로드)를 분산(밸런싱)하는 장비나 소프트웨어입니다. 클라이언트와 서버 사이에 위치해 들어오는 트래픽을 여러 서버로 나눠 보냅니다.
2. Scale-up과 Scale-out
트래픽이 늘었을 때 대응하는 방법은 크게 두 가지입니다.

Scale-up과 Scale-out 비교
| 방식 | 내용 | 예시 | 로드밸런서 |
| Scale-up | 서버 한 대의 성능을 높입니다. | CPU를 i7에서 i9로 교체 | 필요 없음 |
| Scale-out | 같은 역할의 서버를 여러 대 둡니다. | 웹 서버 1대 → 3대 | 필요 |
Scale-out은 서버가 여러 대이므로 요청을 어느 서버로 보낼지 정해 주는 로드밸런서가 반드시 있어야 합니다.
3. 부하 분산 알고리즘
| 알고리즘 | 동작 | 적합한 경우 |
| 라운드 로빈(Round Robin) | 요청을 서버에 순서대로 돌아가며 배정합니다. | 서버 성능이 비슷하고 연결이 짧게 끝나는 경우 |
| 가중 라운드 로빈(Weighted Round Robin) | 서버마다 가중치를 주고, 가중치 비율만큼 요청을 더 많이 배정합니다. | 서버마다 처리 능력이 다른 경우 |
| IP 해시(IP Hash) | 클라이언트 IP를 해싱해 서버를 정합니다. 같은 IP는 항상 같은 서버로 갑니다. | 세션을 한 서버에 유지해야 하는 경우 |
| 최소 연결(Least Connection) | 요청 시점에 연결 수가 가장 적은 서버로 보냅니다. | 세션이 길거나 요청마다 부하 차이가 큰 경우 |
| 최소 응답 시간(Least Response Time) | 연결 수와 응답 시간을 함께 보고 가장 여유 있는 서버로 보냅니다. | 서버 응답 속도 차이가 큰 경우 |
4. 정리
- 로드밸런서는 트래픽을 여러 서버로 나눠 부하 집중을 막습니다.
- Scale-up은 서버 성능을 올리고, Scale-out은 서버 수를 늘리며 로드밸런서가 필요합니다.
- 알고리즘은 서버 성능 차이, 세션 유지 여부, 연결 길이에 맞춰 고릅니다.
728x90
'IT 용어 & 팁' 카테고리의 다른 글
| [Cisco] 명령어 오타 시 DNS 조회 멈춤 막기 (0) | 2020.08.14 |
|---|---|
| [Network] DHCP란? IP 자동 할당 과정 정리 (0) | 2020.07.06 |
| [Network] DNS란? 도메인이 IP로 바뀌는 과정 (0) | 2020.07.05 |
| [Storage] RAID란? RAID 0, 1, 5 구조와 용량 계산 정리 (0) | 2020.05.01 |
| [C] 포인터 기초 정리 (0) | 2018.04.11 |
서울
--:--:--
-전체 글
-카테고리
오늘 방문