🔎 로드 밸런서(Load Balancer)란?
→ 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때, 여러 대의 서버에게 균등하게 트래픽을 분산한다.
→ 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산 처리하여 해결해주는 서비스이다.
📍로드 밸런서 종류
L2
→ Mac 주소를 바탕으로 Load Balancing
L3
→ IP 주소를 바탕으로 Load Balancing
L4
→ Transport Layer(IP와 Port) 레벨에서 Load Balancing
→ TCP, UCP
L7
→ Application Layer(사용자 request) 레벨에서 Load Balancing
→ HTTP, HTTPS, FTP
📍 로드 밸런서 기능
- NAT(Network Address Translation)
- Tunneling
- DSR(Dynamic Source Routing protocol)
📍 로드 밸런서 server 선택 방법
- Round Robin
→ Round Robin 방식으로 분산
💡 Round Robin 이란?
선점형 스케줄링 방식 중 하나. 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간 단위로 CPU를 할당하는 방식
- Least Connections
→ 연결 개수가 가장 적은 서버 선택하여 분산
→ 트래픽으로 인해 세션이 길어지는 경우 권장하는 방식
- Source
→ 사용자의 IP를 Hashing하여 분산
→ 사용자는 항상 같은 서버로 연결되는 것을 보장
📍 로드 밸런서 장애 대비 방법
References:
https://nesoy.github.io/articles/2018-06/Load-Balancer
http://wiki.hash.kr/index.php/라운드_로빈