한 걸음씩 기록하며

[Load Balancing]이란 무엇인가 본문

Network & AWS

[Load Balancing]이란 무엇인가

Haksae 2022. 3. 28. 02:24
이번 주에 AWS ELB에 대해서 공부하다보니, 연결되어 Load Balancing에 대해서 공부하게 되었다.
공부한 내용을 간략히 정리해본다.

1. Load Balancing(부하 분산)

부하분산 또는 로드 밸런싱은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나는 것을 의미한다. 이로써 가용성 및 응답 시간을 최적화 시킬 수 있다. - 위키백과
  • 위의 설명처럼 로드밸런싱은 네트워크에서의 부하 분산을 의미한다.
  • 여러가지 부하 분산이 있지만, 본 글에서는 서버 부하 분산에 대해서만 간단히 다루어보려고 한다.

 

2. Server Load Balancing(서버 부하 분산)

  • 서버 부하 분산은 외부의 사용자로부터 들어오는 다수의 요청을 서버들에게 적절히 배분하여 서버들로 하여금 요청을 처리케하는 것을 뜻한다.
  • 분산 처리는 부하 분산 Network Switch 혹은 소프트 웨어가 담당해서 수행한다.
  • 즉 외부로부터의 요청을 서버가 직접 받는 것이 아닌, Network Switch 혹은 소프트웨어가 받은 후에 이를 서버에 적절히 나누어주는 것이다.
  • 이 서버 분산을 담당하는 Network Switch를 L4/L7 Switch(Layer 4)라고 부르며, Cloud에서는 Load Balancer라고 부른다.

출처 : https://server-talk.tistory.com/118?category=752939

3. 서버 부하 분산의 방법

  • 서버에게 부하를 고르게 분산하는 다양한 방법이 존재한다. 각 서버는 능력과 상황에 맞추어 적절한 부하 방법을 구현해야한다.
  • 이를 보통 Load Balancing Method라고 부른다.
  • LB 방식은 아래와 같이 크게 6가지가 있다.

1) Round Robin

  • 들어오는 요청을 모든 서버에 균등하게 요청을 분배

2) Weighted Round Robin Scheduling

  • 기본적으로 Round Robin방식으로 분배하며 서버의 가중치에 따라 요청

3) Least Connection

  • 서버에 연결된 커넥션 개수를 체크하여 커넥션이 가장 적은 서버로 요청을 분배

4) Weighted Least Connections

  • 기본적으로 Least Connection방식으로 분배하며 서버 가중치에 따라 요청을 분배

5) Fastest Response Time

  • 서버의 응답 시간을 체크하여 가장 빠른 서버로 요청을 분배

6) Source Hash Scheduling

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

 

참고 문서

https://aws-hyoh.tistory.com/entry/Server-Load-Balancing-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

https://server-talk.tistory.com/category/%EB%B6%80%ED%95%98%EB%B6%84%EC%82%B0

https://kim-dragon.tistory.com/112

'Network & AWS' 카테고리의 다른 글

[AWS RDS]란 무엇인가  (0) 2022.04.10
[AWS ELB]란 무엇인가  (0) 2022.03.28
[AWS로 HTTPS 설정]  (1) 2022.03.28
[CORS]란 무엇인가  (0) 2022.02.09
[Socket]이란 무엇인가  (0) 2022.02.04
Comments