서버 부하 분산의 정의

  • 서버 부하 분산(Server Load Balancing)은 외부의 사용자로부터 들어오는 다수의 요청(naver 접속 등)을 서버들에게 적절히 배분하여 서버들로 하여금 요청을 처리케 하는 것
  • 분산 처리는 부하 분산 Network Switch 혹은 소프트웨어가 담당
  • 외부로부터의 요청을 서버가 직접 받는 것이 아닌 '부하 분산 Network Switch' 혹은 '소프트웨어'가 받은 후 요청 받은 내용을 서버들로 적절히 나누어 주는 것
  • 서버 부하 분산을 담당하는 Network Switch를 L4/L7 Switch(Layer 4)라고 부르며 Cloud에서는 Load Balancer라고 부름
  • 현업에서는 서버 부하 분산(Server Load Balancing)을 부르기 편하게 로드밸런싱 혹은 LB(Load balancing)라고 부름

 

서버 부하 분산(Server Load Balancing)의 방법

  • 서버에게 부하를 고르게 분산하는 것도 다양한 방법있음
  • 서버의 능력을 고려하여 분배해야지 서버가 Down되지 않기 때문에 서버의 상황에 맞춰 적절한 방법을 선택 필요
  • 서버의 상황에 맞춰 적절한 방법을 Load Balancing Method이라고 함

 

1. Round Robin

  • Round Robin은 로드밸런서가 다수의 서버에게 순서대로 요청을 할당하는 방법
  • 가장 단순한 방법
  • 서버군에 차례로 요청을 할당하여 분산함

 

 

2. Least Connection

  • 로드밸런서가 서버에게 요청을 전달한 뒤, 사용자와 서버가 정상적인 연결을 맺으면 사용자와 서버는 'Connection'을 생성함
  • 로드밸런서 또한 중간자로서 Connection 정보를 갖고 있는데 이 Connection 수 정보를 기반으로 가장 Connection이 적은 서버, 즉 부하가 가장 덜한 서버에게 요청을 전달

 

3. Ratio(가중치)

  • 서버의 처리 능력을 고려하여 할당될 수 있는 각 서버가 가질 수 있는 Connection의 비율를 이미 정해둠.
  • 서버 부하 분산 비율이 100%라고 했을 때 성능이 가장 떨어지는 서버에게 10%를 나머지 서버 3대에게 각각 30%씩을 할당 가능

 

4. Fastest(Response Time)

  • 응답속도가 가장 빠른 서버에게 우선적으로 할당하는 방식
  • Fastest(Response Time)의 예시
    • 서버에 할당된 Connection이 5개인데 서버가 보내오는 Response가 5개라면 갖고 있는 Connection에 대해 모두 응답하고 있으므로 성능이 충분하다고 판단하고 추가 요청을 보냄
    • 다른 서버에 할당된 Connection이 10개인데 서버가 보내오는 Response가 5개뿐이라면 현재 성능이 충분치 않아 제대로 답변하지 못하는 것으로 판단하고 추가 요청을 해당 서버로 보내지 않음

 

참고 URL : <서버 부하 분산(출처 : 서버 구축이야기!님 블로그(https://server-talk.tistory.com/)>

 

 

+ Recent posts