서버가 처리해야 할 작업을 여러대의 서버로 나누어 분산시켜주는 것. 한 대의 서버로 트래픽이 집중되지 않도록 하여 부하를 분산시키고 각 서버가 최적의 퍼포먼스를 보여줄 수 있도록 하는 것
→ Scale Out 하여 서버 처리 능력을 향상시켰을 경우 사용할 수 있는 것이 로드밸런싱
종류
-
L4 로드밸런싱
- layer 4에 해당하는 Transport Layer, 즉 TCP, UDP 등의 포트 정보를 바탕으로 로드 밸런싱
- 패킷 레벨에서 로드 밸런싱을 하기 때문에 속도가 빠름
- 데이터 복호화가 필요없기 때문에 보안 상 안전
- 패킷 내용을 보지 않기 때문에 섬세한 라우팅 불가
- IP가 수시로 바뀌는 경우 연속적인 서비스 제공 불가
-
L7 로드밸런싱
- layer 7, Application layer에서 로드 밸런싱
- TCP/UDP 정보는 물론, 파일명, URI, 쿠키 정보 등을 바탕으로 로드 밸런싱
- 상위 계층에서 처리하므로 더 섬세한 라우팅 가능
- 캐싱 제공, 디도스 같은 비정상적인 트래픽을 걸러낼 수도 있음
- 데이터 복호화를 해야하므로 더 많은 비용 필요
로드밸런싱 기법
- 라운드로빈 방식 → cpu때랑 같음, 들어온 요청을 순서대로 각 분산 서버에 돌아가면서 배분, 각 서버가 동일 스펙이고 서버와 세션 길지 않을 때 적합
- IP 해시 방식 → 클라이언트 ip를 해싱을 통해 서버로 배분, 특정 클라이언트가 항상 같은 서버로 배정
- 최소 연결 방식 → 요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버로 배정, 트래픽 일정하지 않을 때 적합