Search
Duplicate
📗

Load Balancer, 로드 밸런서란?

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
개발지식
Scrap
태그
9 more properties

로드밸런서는 서버에 가해지는 부하를 분산해주는 장치 또는 기술을 통칭합니다.

클라이언트와 서버풀(Server Pool, 분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치하며, 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 합니다.

로드 밸런서, 왜 필요할까?

사용자가 많은 서버들은 아무리 성능이 뛰어나더라도 몰려오는 모든 트래픽을 감당할 수 없다! 이에 기업들은 서버를 추가로 구성하고 여러대의 서버에 동일한 데이터를 저장해 트래픽들을 효과적으로 분산한다. 그런데 단순히 다수의 서버를 구축해 운영한다고 해서 모든 클라이언트의 요청에 일관성 있게 응답할 수 있을까? 쏟아지는 트래픽을 여러 대의 서버로 분산해주는 기술이 없다면 한 곳의 서버에 모든 트래픽이 몰리는 상황이 발생할 것이다. 이때 필요한 기술이 바로 로드밸런싱이다.

로드 밸런서, 항상 필요한가?

로드 밸런싱은 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다. 따라서 서비스 제공 초기, 즉 한대의 서버로도 감당이 가능하다면 굳이 로드 밸런서를 구성할 필요가 없다. 하지만 서비스 규모가 커지면서 트래픽이 점점 증가한다면 이제 대처할 방안을 생각해야 한다.

Scale-up 그리고 Scale-out

Scale-up 의 경우 서버 자체의 성능을 확장하는 것을 의미한다. 비유하자면 CPU가 i3인 컴퓨터를 i7으로 업그레이드하는 것과 같다.
Scale-out 의 경우 기존 서버와 동일하거나 낮은 성능의 서버를 두 대 이상 증설하여 운영하는 것을 의미한다. CPU가 i3인 컴퓨터를 여러 대 추가 구입해 운영하 것에 비유할 수 있다. Scale-out의 방식으로 서버를 증설하기로 결정했다면 여러 대의 서버로 트래픽을 균등하게 분산해주는 로드밸런싱 이 반드시 필요하다.

다양한 로드밸런싱 알고리즘

라운드로빈 방식
가중 라운드로빈 방식
IP해시 방식
최소 연결 방식
최소 리스폰타임 방식
< 출처 >