로드밸런싱 이란?

2020. 3. 8. 22:04Computer Science/네트워크

로드밸런싱

부하분산 또는 로드 밸런싱(load balancing)은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미.

 

로드밸런서 종류

L2(Data Link Layer)

- Mac Address Load Balancing

- 예시 : Mac > 80-00-20-30-1C-47

- 장점 : 구조가 간단, 신뢰성이 높다, 가격이 저렴

- 단점 : Broadcast 패킷에 의해 성능저하 발생, 라우팅 등 상위 레이어 프로토콜 기반 스위칭 불가

 

L3(Network Layer)

- IP Address Load Balancing

- 예시 : IP > 213.12.32.123

- 장점 : Broadcast 트래픽츠로 전체 성능 저하 방지, 트레픽 체크

- 단점 : 특정 프로토콜을 이용해야 스위칭 가능

 

L4(Transport Layer)

- Transport Layer(IP+Port) Load Balancing

- 예시 : IP+Port > 213.12.32.123:80

- 주로 Round Robin 방식 사용

- 장점 : Port기반 스위칭 지원, VIP를 이용하여 여러대를 한대로 묶어 부하분산

 

L7(Application Layer)

- Application Layer(사용자 Request) Load Balancing

- 예시 : IP+Port+패킷내용 > 213.12.32.123:80 + GET/img/aaa.jpg

 

Architecture

L4 Architecture

 

L7 Architecture

 

로드밸런서 알고리즘 종류

○ Round Robin(순차방식)

  - 요청을 순서대로 각 서버에 균등하게 분배하는 방식

  - 서버 커넥션 수나 응답시간에 상관없이 모든 서버를 동일하게 처리

  - 다른 알고리즘에 비해서 가장 빠르다

○ Least Connection(최소접속방식)

  - 오픈 커넥션이 가장 적은 서버로 사용자 요구를 연결하는 방식

  - 균등한 트래픽을 유지하기 위해 처리 속도가 빠른 서버가 더 많은 접속을 받게 됨

  - 서버들의 성능이 비슷하게 구성되었을 때 효과적인 트래픽 분산이 가능

○ Weighted Least Connections(가중치 최소접속방식)

  - 최소 접속 알고리즘에 서버의 성능 가중치를 추가한 것

  - 요구가 동일한 경우 가중치가 높은 서버에서 더 많은 요구를 받게 설계

○ Fastest Response Time(응답시간방식)

  - 가장 빨리 응답하는 서버에게 이용자의 요구를 전달 하는 방식

  - 응답시간은 각 서버가 패킷 형태의 요구를 송수신하는데 걸리는 시간을 측정

○ Adaptive(최소대기방식)

  - Open 또는 Pending Connection을 적게 가지고 있는 서버로 네트워크 커넥션 방향 지정

  - Pending Connection은 Full TCP Handshake를 완성하지 않은 것으로 초당 클라이언트 Thread수가 증가할 때 더욱 잘 수행된다.

○ Fixed(고정 방식)

  - 어떤 서버가 Connection 요청을 받는지를 결정하기 위해 각 유입요청의 소스 IP 주소를 이용

  - 여러종류의 주소로부터 많은 양의 요구가 있을 경우 잘 작동

  - 동일한 게이트웨이를 통해 들어오는 많은 요구보다 여러 종류의 혼합된 소스 IP 주소의 요구일 경우 더 잘 수행

 

 

 

※ 아직 많이 부족한 주니어 개발자 입니다. 잘못된 정보에 대한 지적 언제든지 환영합니다.

 

Reference

- https://medium.com/@pakss328/%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%84%9C%EB%9E%80-l4-l7-501fd904cf05

- https://weicomes.tistory.com/7

- https://nesoy.github.io/articles/2018-06/Load-Balancer

 

 

'Computer Science > 네트워크' 카테고리의 다른 글

[NetWork] Cookie  (0) 2021.01.24
[Network] Router, Routing ?  (0) 2021.01.10
[Network] HTTP - 헤더  (0) 2020.09.19
[NetWork] imap? POP3?  (0) 2020.06.03
TCP UDP 란?  (0) 2020.04.05