[One Day One Question]
로드 밸런싱(Load Balancing)에 대해서 설명해 주세요.
로드 밸런싱(Load Balancing)은 네트워크 트래픽이나 컴퓨팅 작업을 여러 서버나 리소스에 분산하여 시스템의 성능, 신뢰성, 가용성을 최적화하는 기술입니다. 로드 밸런서는 이를 수행하는 하드웨어 장치나 소프트웨어 애플리케이션을 의미합니다.
로드 밸런싱의 주요 목적
- 성능 향상: 여러 서버가 동시에 작업을 처리하므로 응답 속도와 처리 능력을 개선합니다.
- 가용성 증가: 하나의 서버에 장애가 발생해도 다른 서버가 요청을 처리할 수 있도록 하여 서비스를 중단 없이 유지합니다.
- 확장성: 필요에 따라 서버를 추가하여 트래픽 증가에 유연하게 대응할 수 있습니다.
- 리소스 최적화: 서버 간 작업을 고르게 분산해 특정 서버에 과부하가 발생하지 않도록 방지합니다.
로드 밸런싱 알고리즘
1. 라운드 로빈 (Round Robin)
- 작동 원리:
- 서버에 순차적으로 요청을 분배하는 방식.
- 예: 첫 번째 요청은 서버 A, 두 번째 요청은 서버 B, 세 번째 요청은 서버 C로 분배.
- 장점:
- 간단하고 구현이 용이함.
- 서버가 균등한 성능과 용량을 가질 때 적합.
- 단점:
- 서버의 부하 상태(예: 처리 능력이나 연결 수)를 고려하지 않음.
- 고성능 서버와 저성능 서버가 혼재된 경우 부적합.
2. 가중 라운드 로빈 (Weighted Round Robin)
- 작동 원리:
- 각 서버에 가중치를 설정하고, 높은 가중치를 가진 서버에 더 많은 요청을 분배.
- 예: 서버 A(가중치 3), 서버 B(가중치 2), 서버 C(가중치 1) → 요청 비율: A:B:C = 3:2:1.
- 장점:
- 서버의 성능 차이를 반영하여 트래픽을 분배.
- 유연한 분배가 가능.
- 단점:
- 실시간 부하 상태를 반영하지 못함.
3. 최소 연결 (Least Connections)
- 작동 원리:
- 현재 활성화된 연결 수가 가장 적은 서버에 요청을 분배.
- 각 서버의 처리 능력에 따라 작업량을 동적으로 조정.
- 장점:
- 실시간으로 부하를 고려하여 요청을 분배.
- 클라이언트 요청당 처리 시간이 크게 차이나는 경우에도 적합.
- 단점:
- 각 연결의 부하를 정확히 예측하지 못하면 부적합.
4. IP 해싱 (IP Hashing)
- 작동 원리:
- 클라이언트의 IP 주소를 해싱하여 특정 서버에 매핑.
- 같은 클라이언트 요청은 항상 동일한 서버로 전달됨.
- 장점:
- 세션 지속성(Session Persistence)을 보장.
- 클라이언트별로 데이터를 유지해야 하는 환경에 적합(예: 쇼핑몰의 장바구니 기능).
- 단점:
- 서버 수가 변경되면 해싱 결과가 달라질 수 있음.
- 클라이언트 분포가 균등하지 않으면 부하가 불균형해질 수 있음.
5. 응답 시간 기반 (Response Time-Based)
- 작동 원리:
- 서버의 평균 응답 시간을 실시간으로 모니터링하여 응답 속도가 가장 빠른 서버에 요청을 분배.
- 장점:
- 성능 최적화에 유리.
- 서버 상태를 실시간으로 반영.
- 단점:
- 응답 시간 측정 오버헤드가 있을 수 있음.
- 네트워크 환경 변화에 민감.
6. 최소 요청 (Least Request)
- 작동 원리:
- 현재 처리 중인 요청 수가 가장 적은 서버로 요청을 전달.
- "최소 연결"과 유사하지만, 요청 단위로 동작.
- 장점:
- 실시간 부하를 고려하여 공평한 분배 가능.
- 단점:
- 단일 요청의 처리 부하를 정확히 반영하지 못할 수 있음.
'cs > ODOQ' 카테고리의 다른 글
[ODOQ] ACID란?(데이터베이스) (0) | 2025.01.16 |
---|---|
[ODOQ] REST란? (1) | 2025.01.15 |
[ODOQ] Connection Timeout, Socket Timeout, Read Timeout (1) | 2025.01.04 |
[ODOQ] WAS, 웹 서버 (2) | 2025.01.03 |
[ODOQ] 서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR) (0) | 2025.01.01 |