Back To The Basic

Load Balancer

Cloud Applicaiton Architect 2021. 11. 2. 13:14
반응형

Load Balancer란

  • 다양한 요청 트래픽에 대해 장치(장비)나 서비스의 앞단에 존재하여 분산처리를 통해 장치(장비) 혹은 서비스로의 로드율 증가, 부하량, 속도저하 등을 적절히 분산처리하여 해결해주는 서비스
  • 보통 Switch 라고도 한다

Load Balancer 이미지

 

Load Balancer의 종류

종류 설명
L2 Switch - Mac주소를 바탕으로 Load Balancing 수행
- Mac 기반 통신이기 때문에 Broadcast가 발생할수 밖에 없으며 그로인해 성능 저하 현상 발생
- 저가의 더미 허브가 이 기능을 수행하는 대표적인 장비임
L3 Switch - L2가 Mac Addr에 따른 스위칭이 주 업무라면 L3는 IP에 의한 라우팅(Routing)이 주 업무
- L2 스위치 위에 IP에 의한 라우팅 기능이 추가되었기 때문에 브로드케이팅 현상 방지
- 트래픽 체크, VLAN 기능 제공
L4 Switch - 실제 로드발란서 기능 제공
- Layer 4 즉, 포트의 헤더를 보고 FTP, HTTP, SMTP등의 프로토콜을 구분해 스위칭 우선 순위 판단
- IP + Port에 의한 부하 분산
L7 Switch - 응용 프로그램 레벨에서의 로드 벨런싱 제공
- L5 ~ L7까지 역할 모두 수행
- 웹방화벽, 보안 스위치 역할도 수행

 

Load Balancing 알고리즘

종류 설명
Round Robin - Mac주소를 바탕으로 Load Balancing 수행
- Mac 기반 통신이기 때문에 Broadcast 발생 및 성능 저하 현상 발생
- 저가의 더미 허브가 이 기능을 수행하는 대표적인 장비임
Least Connection - L2가 Mac Addr에 따른 스위칭이 주 업무라면 L3는 IP에 의한 라우팅(Routing)이 주 업무
- L2 스위치 위에 IP에 의한 라우팅 기능이 추가되었기 때문에 브로드케이팅 현상 방지
- 트래픽 체크, VLAN 기능 제공
Weighted Least Connection - 실제 로드발란서 기능 제공
- Layer 4 즉, 포트의 헤더를 보고 FTP, HTTP, SMTP등의 프로토콜을 구분해 스위칭 우선 순위 판단
- IP + Port에 의한 부하 분산
Fastest Response Time - 응용 프로그램 레벨에서의 로드 벨런싱 제공
- L5 ~ L7까지 역할 모두 수행
- 웹방화벽, 보안 스위치 역할도 수행
Hashing - 사용자의 IP를 hashing하여 연결함으로서 동일한 사용자는 동일한 서버에 연결

 

L4 VS L7 Load Balancer

가장 대표적인 Load Balancer인 L4/L7 Load Balancer를 비교하면 다음과 같다.

  L4 Load Balancer L7 Load Balancer
OSI 7 layers Layer 4: Transport layer Layer 7: Application layer
protocol TCP, UDP HTTP, SMTP, FTP
장점 데이터 안을 확인하지 않고 패킷 레벨에서만 밸런싱하기 때문에 속도가 빠름
데이터의 내용을 복호화할 필요가 없어 안전
L7 Load Balancer
비해 가격이 저렴
Application Layer에서 밸런싱하기 때문에 섬세한 라우팅이 가능
캐싱 기능을 제공
비정상적인 트래픽을 사전에 필터링 있어 서비스 안정성이 높음
단점 패킷의 내용을 없기 때문에 섬세한 라우팅이 힘듦
사용자의 IP 수시로 바뀌는 경우라면 연속적인 서비스를 제공하기 어려움
패킷의 내용을 복호화해야 하기에 높은 비용을 지불
클라이언트가 Load Balancer 인증서를 공유해야하기 때문에 공격자가 Load Balancer 통해서 클라이언트에 데이터에 접근할 보안 상의 위험성이 존재

 

Load Balancing 장점

  • 비용 절감
    : 서버의 자원이 사용자의 요청을 감당하지 못하는 경우, 서버의 스팩을 늘리거나 (scale up) 서버의 개수를 늘려야(scale out) 함. Load Balancing을 할 경우 Scale Up 대비 비용이 저렴한 Scale Out을 지원함
  • 단일 장애점 해결
    : 서버가 한 대라면 해당 서버가 에러 발생 시 모든 동작이 멈추게 되지만 Load Balancer를 통해 서버를 여러대 두고 Load Balancing 할 경우 하나의 서버가 에러가 발생해도 나머지 서버로 분산해서 사용자는 서버의 에러를 체감하지 못함
  • 확장 용이성
    : 추후에 더 많은 사용자에 대해 서버를 확장할 때도 보다 쉽게 가능
반응형

'Back To The Basic' 카테고리의 다른 글

ARP Request  (0) 2021.11.23
TCP vs UDP  (0) 2021.11.08
RAID  (0) 2021.11.03
Blocking vs Non-Blocking  (0) 2021.11.03
인프라 용어 정리  (0) 2021.11.02