Load Balancer

조향래·2022년 8월 25일
0

로드밸런서 : 서버에 가해지는 부하를 분산시켜주는 장치로써,
클라이언트와 서버 사이에 위치하여 서버의 트래픽을 관리해준다.

서버에 가해지는 트래픽이 적다면 서버 한대로도 무난히 서비스를 운영할 수 있지만, 만약 클라이언트가 늘어나면서 트랙픽이 많아진다면 서버 한대로는 감당할 수 없게되고 서비스 또한 작동을 멈추게 된다.

이러한 문제를 해결하기 위해 도입할 수 있는 방법에는 크게 두가지가 있다.

  • Scale-up : Server가 더 빠르게 동작하기 위해 하드웨어 성능을 올리는 방법.
  • Scale-out : 하나의 Server 보다는 여러 대의 Server가 나눠서 일을 하는 방법.

여러 대의 서버에 균등하게 트래픽을 분산시켜주는 역할을 하는 것이 로드밸러서이다. 따라서 로드밸러서는 Scale-out 방식이다.

Scale-up이 아닌 Scale-out을 도입하게 되면 얻을 수 있는 장점에는 두가지가 있는데 하드웨어 향상하는 비용보다 서버 한대 추가 비용이 더 적고, 여러 대의 Server 덕분에 무중단 서비스를 제공할 수 있다.

로드밸런싱 알고리즘

  • 라운드 로빈(Round Robin) : 요청이 들어온 대로 순차적인 처리

  • 가중 라운드 로빈 : 최소 라우팅 서버를 우선적으로 배치

  • 최소 연결 방식(Least Connections) : 요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 트래픽을 배정하는 방식

  • IP 해시 방식(Source) : 클라이언트가 접속하면 특정 서버로 라우팅 해주는 방식

0개의 댓글