320x100
320x100

로드밸런싱 (Load Balancing)

- 서버에 가해지는 부하(Load)를 분산(Balancing)하는 기법

 : 클라이언트와 서버풀 (분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치

 : 한대에 서버로 부하가 집중되지 않도록 트래픽을 관리해 각 서버의 성능을 최적화

 

 

 

 

서버의 업그레이드 개념

- Scale-Up

 : 서버 자체의 성능을 향상시키는 것

 

- Scale-out

 : 기존 서버와 동일하거나 낮은 성능의 서버를 두 대 이상 증설하는 것

 : 로드밸런싱 필요

 

 

 

 

로드밸런싱 알고리즘

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

 : 서버에 들어온 요청을 돌아가며 배정하는 방식

 : 클라이언트의 요청을 순서대로 분배

 : 동일한 스펙의 여러 대의 서버를 사용하며 서버와의 연결 (세션)이 오래 지속되지 않을 경우 적합

 

 

- 가중 라운드로빈 방식 (Weighted Round Robin Method)

 : 각 서버 마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분하는 방식

 : 서버의 트래픽 처리 능력이 상이한 경우 적합

 

 

- IP해시 방식 (IP Hash Method)

 : 클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식

 : 사용자가 항상 동일한 서버로 연결되는 것을 보장

※ 해싱 (Hashing)

  = 임의의 길이를 지닌 데이터를 고정된 길이의 데이터로 매핑 하는 것

※ 매핑 (Mapping)

  = 어떤 한 데이터에 값을 대입하는 것 

 

 

- 최소 연결 방식 (LCM, Least Connection Method)

 : 요청이 들어온 시점에 가장 적은 연결상태를 가진 서버에 우선적으로 분배하는 방식

 : 세션이 길어지거나 서버에 분배된 트래픽이 일정하지 않은 경우에 적합

 

 

- 최소 응답 시간 방식 (LRT, Least Response Time Method)

 : 서버의 현재 연결상태와 응답시간을 고려하여 트래픽 분배

 : 가장 적은 연결 상태와 가장 짧은 응답 시간을 보이는 서버에 우선적으로 분배

※ 응답시간 (Response Time)

   = 서버에 요청을 보내고 최초 응답을 받을 때까지 소요되는 시간

 

 

 

 

 

 

 

로드밸런서의 종류

로드밸런서의 종류 

- L2 ~ L7 로드밸런서 

 

 

 

L2 (Data Link Layer)

- MAC Address Load Balancing

 : MAC 주소를 바탕으로 로드밸런싱

 

- 관련 프로토콜 및 장비

 : 브릿지, 허브 등 2계층 장비

 

- 장점

 : 구조가 간단하고 신뢰성이 높음

 : 저렴한 가격

 : 좋은 성능

 

- 단점

 : Broad Cast 패킷에 의해 성능 저하 발생 우려

 : 라우팅 등 상위 레이어 프로토콜 기반 스위칭 불가 

 

 

 

 

L3 (Network Layer)

- IP Address Load Balancing

 : L2 + 라우팅

 : MAC주소와 IP 정보를 바탕으로 로드 밸런싱

 

- 관련 프로토콜 및 장비

 : 라우터, ICMP프로토콜, IP

 

- 장점

 : 브로드 캐스트 트래픽을 사용하기 때문에 전체 성능 저하 방지

 : 트래픽 체크 기능

 

- 단점

 : 특정 프로토콜을 사용해야만 스위칭 가능

 

 

 

 

https://m.post.naver.com/viewer/postView.nhn?volumeNo=27046347&memberNo=2521903

L4 (Transport Layer)

- IP + Port Load Balancing

 : 포트 정보를 바탕으로 로드를 분산하는 것이 가능하여 가장 많이 활용

 : 한 대의 서버에 각기 다른 포트번호를 부여하여 다수의 서버 프로그램을 운영하는 경우 최소 L4부터 사용 권장

 : 주로 라운드 로빈 방식을 이용

 

- 관련 프로토콜 및 장비

 : TCP, UDP 

 

- 장점

 : 포트 기반 스위칭 지원

 : 가상 IP주소를 이용하여 여러대의 서버를 한대로 묶어 부하분산 가능

 : 데이터를 들여보지 않고 패킷 레벨에서만 로드를 분산하여 효율과 성능이 좋음

 : 데이터의 내용을 복호화할 필요가 없음

 : L7 로드밸런서 보다 저렴함

 

- 단점

 : 패킷의 내용을 볼 수 없어 섬세한 라우팅 불가능

 : 사용자의 IP가 수시로 바뀌는 경우에는 연속적인 서비스 제공 어려움

 

 

 

 

 

 

https://m.post.naver.com/viewer/postView.nhn?volumeNo=27046347&memberNo=2521903

L7 (Application Layer)

- 애플리케이션 계층에서 로드를 분산하는 방식

 : HTTP 헤더, 쿠기 등과 같은 사용자 요청을 기준으로 특정 서버에 트래픽 분산 가능

  => 패킷의 내용을 확인하고 내용에 따라 로드를 분배

 

- 관련 프로토콜 및 장비

 : HTTP, FTP, SMTP 등

 

- 장점

 : 상위 계층에서  로드를 분산하기 때문에 더욱 섬세한 라우팅 가능

 : 캐싱 기능 제공 (자주 쓰이는 파일을 저장하여 빠른 로딩)

 : 비정상적인 트래픽을 사전에 감지할 수 있어 서비스 안정성이 높음

 

- 단점

 : 패킷의 내용을 복호화해야 하므로 비용 상승

 : 클라이언트가 로드밸런서와 인증서를 공유하기 때문에 공격자가 로드밸런서를 통해 클라이언트에 접근가능

 

 

=> L2에서 L7으로 가면서 상위계층의 로드밸런서는 하위계층의 로드밸런서 기능을 가짐

 

 

 

 

 

Refference

 

로드밸런서(Load Balancer)의 개념과 특징

[BY 가비아] 현대의 모든 정보는 인터넷을 통해 연결되어있습니다. 인터넷의 발달은 데이터 통신을 보다...

m.post.naver.com

 

 

로드밸런서란?(L4, L7)

서버 부하 분산을 위해 로드밸런서를 이용한다. 근래들어 L7을 많이 이용하고 이전에 많이 사용하던 장치는 L4였다. 추상적으로만 알고 있던 L7과 L4에 대해 정리를 해보았다.

pakss328.medium.com

 

300x250
728x90