LoadBalancer
📌 Load Balancer(부하 분산기)란?
info
Load Balancer는 클라이언트의 요청을 여러 서버로 분산하여 시스템의 가용성, 안정성, 처리 성능을 높여주는 네트워크 장치 또는 소프트웨어다.
✅ 역할
- NAT(Network Address Translation)와 Load Balancing 알고리즘을 사용하여 Client 요청을 각 서버 목적지에 고르게 분산
- 단일 장애 지점(SPOF) 제거 및 트래픽 병목 최소화
- OSI 7계층의 각 계층에서 다양한 분산 전략을 제공
(상위 계층 스위치는 하위 계층 기능도 포함)
✅ 계층별 Load Balancer 종류
계층 | 분산 기준 | 설명 |
---|---|---|
L2 | MAC 주소 | MAC 주소 기반의 단순 분산 |
L3 | IP 주소 | IP 기반의 라우팅 수준 분산 |
L4 | IP + Port | TCP, UDP 프로토콜 기반 분산 |
L7 | HTTP 헤더, 쿠키 등 | 애플리케이션 계층 기반 분산 (ex. URL path, Host 등) |
✅ Load Balancing Algorithm
알고리즘 | 설명 |
---|---|
Round Robin | 서버에 들어온 요청을 순서대로 돌아가며 분산. 동일 스펙 서버에 적합 |
Weighted Round Robin | 서버마다 가중치를 설정하고 비율에 따라 요청 분배 |
IP Hash | 클라이언트 IP를 해시하여 항상 같은 서버에 연결되도록 설정 |
Least Connection | 연결 수가 가장 적은 서버에 우선 분배 |
Least Response Time | 연결 수 + 응답시간을 고려하여 가장 효율적인 서버에 요청 분배 |
✅ L7 Load Balancer 예시
- NGINX
- Apache HTTP Server (mod_proxy_balancer)
- AWS Application Load Balancer(ALB)
- HAProxy
✅ 이중화 구성(HADR, HA)
- Load Balancer 자체도 단일 장애 지점이 되므로 Active-Standby 또는 Active-Active 구성 필요
- 서버 이중화와 함께 사용하는 것이 일반적
댓글남기기