로드 밸런싱 알고리즘
- 라운드 로빈 (Round Robin): 클라이언트의 요청을 여러 대의 서버에 순차적으로 분배하는 방식이다. 추가적인 계산작업이 없이, 들어온 요청을 빠르게 서버에 분산해 전송하는 1차원적인 주기능에 focus를 맞춘 방식이기 때문에, 가장 많이 사용되는 로드밸런싱 기법이다. 모든 서버의 스펙이 동일하거나 비슷한 경우에 사용된다.
- 가중 라운드 로빈 (Weighted Round Robin)
: 각 서버에 처리량(가중치)를 지정한 후, 가중치가 높은 서버에 클라이언트 요청을 우선적으로 전달하는 방식이다. 주로 서버의 트래픽 처리 용량이 다를 경우, 즉 특정 서버의 스펙(사양)이 더 좋을 경우 사용된다. 예를 들어, A 서버(가중치 3)와 B 서버(가중치 1)가 있고 로드 밸런서가 클라로부터 총 8개의 요청을 받았다면, A와 B 서버에 각 6개와 2개의 요청이 전달된다. - IP 해시 (IP Hash)
: 클라이언트의 IP 주소가 어떤 서버로 클라의 요청이 전달될지를 결정하는 방식이다. 클라의 IP 주소가 바뀌지 않으면 동일한 서버로 요청이 보내지는 것을 보장한다. RR 방식과 달리, 서버에 Session clustering이 구성되어 있지 않은 경우에 주로 사용한다. - 최소 연결 (Least Connection)
: 요청이 들어온 시점에 가장 적게 연결돼있는 서버에 요청을 전송하는 방식이다. 서버에 분배된 트래픽이 일정하지 않을 경우에 주로 사용한다. - 최소 응답 시간 (Least Response Time)
: 서버의 현재 연결 상태와 응답 시간을 모두 고려하여 가장 적은 연결 수와 가장 짧은 응답 시간을 가지는 서버에 우선적으로 요청을 보내는 방식이다.
참조 : https://chunsubyeong.tistory.com/106