로드밸런서와 로드밸런싱

정체는 김태현·2022년 10월 11일
0

항해99

목록 보기
15/38

로드밸런서란?

로드밴런서란 로드밸런싱(부하분산)을 해주는 장치 또는 기술을 통칭한다. 만약 1대의 서버로 이루어져있는 서버에 수천만명의 사용자가 동시에 접속을 하게되어 일어나는 트레픽증가에 대비를 하고자 한다면, 장비를 업그레이드하는 Scale-up 방식과 장비를 여러개 두는 Scale-out 방식이 있다.

한대 이상의 서버를 두는 스케일-아웃 방식을 사용할경우 로드밸런싱은 필수적이다. 서버별 IP 주소가 다르고 어떤 고객이 어떤 IP주소를 이용하여 어느 서버에 접속할지는 고객에게 달려 있기 때문이다. 즉 100명의 고객중 99명인 1번서버를 이용하고 1명이 2번 서버를 이용하는 경우가 생기면 두대의 서버에 동일한 부하를 줄수 없을 뿐더러 두번째 서버의 자원이 낭비하게 된다.

개발자가 원하는 방식대로 부하를 분산하기 위해선 부하를 적절히 분산하는 작업이 필요한데 이것을 로드밸런서가 해주는 것이다. 또한 여러대의 서버에 작업을 나누는것을 로드 밸런싱이라 한다.

로드밸런서의 서버 선택 방법

Round Robin - 요청이 들어오는 대로 서버마다 균등하게 요청을 분배합니다. 가장 단순한 분배 방식이다.

Weighted Round Robin Scheduling - Round Robin방식으로 분배하지만 서버의 가중치에 따라 요청을 더 분배하기도, 덜 분배하기도 합니다. 서버 가중치는 사용자가 지정할 수 있고 동적으로 조정되기도 한다.

Least Connection - 서버마다 연결된 커넥션이 몇개인지 체크하여 커넥션이 가장 적은 서버로 요청을 분배하는 방식이다.

Weighted Least Connections - Least Connection방식으로 분배하지만 서버 가중치에 따라 요청을 더 분배하기도, 덜 분배하기도 한다. 서버 가중치는 사용자가 지정할 수 있고 동적으로 조정되기도 하며 서버 풀에 존재하는 서버들의 사양이 일관적이지 않고 다양한 경우 이 방법이 효과적이다.

Fastest Response Time - 서버가 요청에 대해 응답하는 시간을 체크하여 가장 빠른 서버로 요청을 분배하는 방식이다.

Source Hash Scheduling - 사용자의 IP를 해싱한 후 그 결과에 따라 서버로 요청을 분배, 사용자의 IP는 고정되어 있기 때문에 항상 같은 서버로 연결된다는 보장을 받을 수 있다.

profile
하나부터 열가지 다

0개의 댓글

관련 채용 정보