반응형
Load Balancer란
- 다양한 요청 트래픽에 대해 장치(장비)나 서비스의 앞단에 존재하여 분산처리를 통해 장치(장비) 혹은 서비스로의 로드율 증가, 부하량, 속도저하 등을 적절히 분산처리하여 해결해주는 서비스
- 보통 Switch 라고도 한다
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 |