로드 밸런싱

2022. 10. 1. 03:05SK 쉴더스 루키즈

로드 밸런싱(Load Balancing)

  • 서버가 처리해야 할 일을 여러 대의 서버로 나눠서 처리
  • 한대의 서버로 부하가 집중되지 않아 원활한 서비스 제공 가능
  • 하나의 서버에 문제가 발생해도 다른 서버들이 응답
  • Health Check 기능으로 서버 문제 발생 여부 확인 가능

 

종류

1. ALB(Application Load Balancer) : 7계층 로드 밸런서

- URL와 HTTP 헤더 등을 보고 부하를 분산

- NLB보다 먼저 출시, round robin 지원

 

2. NLB(Network Load Balancer) : 4계층 로드 밸런서

- IP 주소와 Port 번호 등을 보고 부하를 분산

- ALB보다 나중 출시, Hash Function 지원

- EIP 부여 가능

EIP(Elastic IP Address) : 고정 IP를 의미하며 IP 주소가 바뀌지 않고 계속 같은 IP 주소를 사용 가능 하게 해주는 서비스

용도 : 도메인 주소에 IP 주소를 고정할 때 사용

 

ALB : DNS 경로를 통해서 접속

NLB : 탄력적IP주소(EIP) 또는 DNS 경로를 통해서 접속

둘중 하나로만 접속 할 수 있으며 EIP가 우선 적용됨

 

기법

1. 라운드 로빈 방식(Round Robin Method)

- 클라이언트로부터 받은 요청을 로드밸런싱 대상 서버에 순서대로 할당하는 방식

- 4개의 서버가 존재 할 경우 1 - 2 - 3 - 4 - 1 - 2 - 3 - 4 순으로 돌아가면서 할당

- 서버들의 스펙이 모두 동일할 경우 

 

2. 가중 라운드로빈 방식(Weighted Round Robing)

- 각각의 서버에 가중치를 부여한뒤 가중치가 높은 서버에 더 많은 클라이언트의 요청을 할당하는 방식

2개의 서버가 존재하며 A에는 3의 가중치가 B에는 1의 가중치가 부여되었다면 A는 3번의 요청을 B에는 1번의 요청을 할당

- 서버들의 스펙이 다를 경우

 

3. 최소 응답 시간(Least Response Time)

- 평소 서버들의 응답 시간 측정 후 가장 빠른 응답 시간을 보내는 서버로 요청을 우선 할당하는 방식

 

4. 최소 연결(Least Connection Method)

- 클라이언트로부터 요청이 들어오면 가장 연결이 적은 서버에 할당하는 방식

- A 서버에 4개의 클라이언트 요청이 할당되었고 B 서버에 2개의 요청이 할당되었다면 연결이 가장 적은 B에 우선 할당

 

5.해시 함수(Hash Function)

- 출발지 IP, 출발지 Port, 목적지 IP, 목적지 Port 등 에 해당하는 특정 요청들을 특정 서버로만 할당 시키는 방식

- IP나 Port를 해싱한 뒤에 일치하는 서버에 할당하기 때문에 항상 고정된 서버에 할당

- Sticky Session (세션이 고정됨)

*해싱(IP나 Port 값을 해시 함수에 넣어 고정된 해시값을 생성하는 행위)

'SK 쉴더스 루키즈' 카테고리의 다른 글

로드 밸런싱 - ALB  (0) 2022.10.02
로드 밸런싱 - NLB  (0) 2022.10.02
Vmware(Ubuntu) - workbench  (0) 2022.09.30
IaaS - EC2 & RDS(gnuboard)  (0) 2022.09.30
IaaS - DB(RDS_workbench)  (0) 2022.09.29