본문으로 건너뛰기

로드 밸런싱

로드 밸런싱이란?

서버가 처리해야 할 요청을 여러 대의 서버로 나누어 처리하는 것을 의미한다.
로드 밸런싱은 로드 밸런서를 통해 이루어진다.

로드 밸런싱과 로드 밸런서

로드 밸런싱: 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법
로드 밸런서: 사용자와 서버 그룹 사이에 위치하며 보이지 않는 촉진자 역할을 하여 모든 리소스 서버가 동일하게 사용되도록 하는 디바이스

로드 밸런싱의 장점

가용성

서버에 문제가 발생하는 경우 로드밸런서가 해당 문제를 감지(헬스 체크를 통해)하여 트래픽을 사용 가능한 서버로 보냄으로써 내결함성을 높힌다.
로드밸런서를 활용한 무중단 배포

확장성

수평 확장성(Horizontal Scalability) 용이
트래픽이 증가하는 경우 AutoScaling을 통해 서버를 자동으로 확장(Scale-out)
트래픽이 감소하는 경우 축소(Scale-in)

보안

분산 서비스 거부 공격(DDoS)이 발생하는 경우 해당 트래픽을 부하 분산할 수 있다.

성능

서버 간 로드를 균등하게 배포하여 애플리케이션의 성능을 향상 시킨다.
클라이언트 요청을 지리적으로 더 가까운 서버로 리다이렉션하여 지연 시간을 단축시킨다.

내결함성(Fault Tolerance)과 확장성(Scalability)

내결함성: 시스템의 일부 구성 요소가 작동하지 않더라도 계속 작동할 수 있는 기능
확장성: 대규모적인 재설계/재설치 등의 필요없이 확장이 얼마나 쉽고 가능한가에 대한 용이성

참고 자료

load balancing, AWS