Load Balancing
Load Balancing
Load Balancing
- 서버가 처리해야 할 요청(Load)를 여러 대의 서버로 나눠(Balancing) 처리하는 것
- Scale-out을 통해 여러 서버를 사용할 경우 필수적
- 라운드 로빈 등 여러 로드밸런싱 기법 존재
- 로드 밸런싱을 수행할 때 사용하는 정보에 따라 L4 / L7 로드 밸런싱으로 구분됨
로드 밸런싱 기법
- 라운드 로빈
- 서버에 들어온 요청을 순서대로 돌아가며 배정
- 여러 대의 서버가 동일한 스펙을 가짐
- 서버와의 연결이 짧을 때 유용
- 가중 라운드 로빈
- 서버의 트래픽 처리 능력이 상이한 경우 사용 가능
- 각 서버마다 가중치를 두어 가중치가 높은 서버에 요청을 우선적으로 배분
- IP 해시 방식
- 사용자의 IP 주소를 해시한 값을 이용해 특정 서버에 매핑
- 사용자는 항상 동일한 서버로 연결됨
- 최소 연결 방식
- 요청 시점에서 가장 적은 연결 상태를 가진 서버에 연결
- 트래픽 배분이 고르지 않은 경우 적절
- 최소 응답 방식
- 서버의 연결 상태와 현재 응답 시간을 고려해 연결
- 가장 적은 연결 상태와 짧은 응답 시간을 보이는 서버에 우선적으로 요청을 배분
References
- https://tecoble.techcourse.co.kr/post/2021-11-07-load-balancing/