728x90
네트워크 트래픽을 여러 서버로 고르게 분산시켜 서버에 과부하가 걸리는 것을 방지하고, 서비스의 가용성과 성능을 최적화하는 기술입니다. 이를 통해 시스템의 효율성과 안정성을 높이며, 사용자가 빠르고 안정적인 응답을 받을 수 있도록 돕습니다.
로드 밸런싱의 주요 목적
- 고가용성: 여러 서버에 요청을 분산시켜 단일 서버 장애 시에도 시스템을 안정적으로 운영할 수 있도록 합니다.
- 성능 향상: 트래픽을 효율적으로 분산하여 시스템의 응답 속도를 높이고, 처리 능력을 향상합니다.
- 확장성: 시스템에 서버를 추가해 부하를 분산함으로써 확장성을 높이고, 성능 저하 없이 더 많은 요청을 처리할 수 있습니다.
로드 밸런싱의 주요 방식
- DNS 로드 밸런싱: DNS 서버에서 요청을 여러 IP로 분산하여 트래픽을 분산합니다.
- L4 (Layer 4) 로드 밸런싱: 전송 계층에서 IP 주소와 포트 정보만을 이용해 트래픽을 분산합니다. 패킷 수준에서 분산 처리하므로 빠른 속도를 보장합니다.
- L7 (Layer 7) 로드 밸런싱: 애플리케이션 계층에서 URL, 쿠키, 헤더 등의 내용을 기반으로 분산하여 더욱 정교한 로드 밸런싱이 가능합니다.
로드 밸런싱 알고리즘
- 라운드 로빈(Round Robin): 순차적으로 각 서버에 요청을 배분합니다.
- 가중 라운드 로빈(Weighted Round Robin): 서버마다 가중치를 두어 성능에 따라 트래픽을 배분합니다.
- 최소 연결(Least Connections): 현재 연결 수가 가장 적은 서버에 요청을 보냅니다.
- IP 해시(IP Hash): 요청의 IP 주소를 해시하여 특정 서버로 배정하는 방식입니다.
로드 밸런서의 유형
- 하드웨어 로드 밸런서: 전용 장비를 통해 로드 밸런싱을 수행하는 방식으로, 보통 성능이 뛰어나지만 비용이 높습니다.
- 소프트웨어 로드 밸런서: 소프트웨어를 통해 로드 밸런싱을 수행하며, 클라우드 환경에서 많이 사용됩니다. 대표적으로 Nginx, HAProxy 등이 있습니다.
- 클라우드 로드 밸런서: AWS, Azure, GCP와 같은 클라우드 서비스에서 제공하는 로드 밸런싱 기능으로, 유연하게 사용량에 맞춰 자원을 조정할 수 있습니다.
로드 밸런싱은 특히 웹 서비스, 데이터베이스 관리 시스템(DBMS), 애플리케이션 서버 등의 성능 최적화와 안정성을 위해 필수적인 기술로 활용됩니다.
728x90
'CS > 네트워크' 카테고리의 다른 글
[네트워크] RESTful의미와 설계규칙 (0) | 2024.10.30 |
---|---|
[네트워크] 공개키 암호 & 대칭키 암호 (0) | 2024.10.30 |
[네트워크] HTTP와 HTTPS (feat.SEO) (4) | 2024.10.30 |
[네트워크] TCP와 UDP의 특징과 차이점 (1) | 2024.10.30 |
[네트워크] OSI 7 계층 (2) | 2024.10.30 |