로드 밸런싱

  • 애플리케이션을 지원하는 리소스 풀에 들어오는 네트워크 트래픽(들어오는 요청)을 균등하게 분산하는 것을 의미

    로드 밸런서는 애플리케이션 서버 앞단에 위치하며 클라이언트 요청을 지시하고 제어함. 이를 통해 애플리케이션의 가용성, 확장성, 보안 및 성능을 확보할 수 있음

로드 밸런싱 알고리즘 종류?

라운드로빈(Round Robin)방식

  • 모든 요청이 순서대로 처리되는 방식.

  • 서버 3대(A, B, C)가 존재하면 요청은 ABCABC… 순서대로 전달모든 서버 처리능력이 동등 → 요청이 고른 분산이 중요한 경우 고려

  • 구현이 쉬우며 고른 분산을 보장하는것이 장점

  • 하지만 서버 부하나 응답 시간을 고려하지 않고 서버의 처리 능력이 다른경우 비효율적이라는 것이 단점.

가중치 라운드 로빈(Weighted Round Robin)

  • 라운드 로빈 방식에 가중치라는 개념을 추가

  • 각 서버는 처리 능력과 가용 자원에 따라서 가중치를 할당받음

  • 가중치가 높은 서버는 가중치에 비례하여 상대적으로 더욱 많은 요청을 받게됨

  • 라운드로빈보다 상대적으로 구현이 복잡 but, 서버의 처리 능력을 고려하지 않는 단점을 개선한 방법. 하지만 서버의 상태를 고려하지 않는 방식

최소 연결(Least Connections)

  • 각 서버의 활성 연결수를 모니터링하고 있는 경우에 사용 가능

  • 가장 적은 활성 연결이 존재하는 서버에게 요청을 전달하는 방식. 각 서버의 처리 능력이 다른 경우에는 적합하지 않을 수 있음

    처리 능력이 큰 서버는 상대적으로 더 많은 연결을 수립할 수 있기 때문

    → 서버 처리 능력이 비슷하지만 특정 이유로 한 서버에 동시 연결 수가 많아지는 상황이 존재하는 경우 고려해볼 수 있음

가중치 최소 연결(Weighted Least Connections)

  • 상대적으로 처리 능력이 큰 서버가 존재하는 경우, 최소 연결에가중치라는 개념을 적용한 방식

최소 응답 시간(Least Response Time)

  • 각 서버의 응답시간을 모니터링하고 있는 경우에 사용가능

  • 응답 시간이 가장 빠른 서버에 요청을 전달하는 방식

  • 가장 빠른 응답시간을 보내는 서버에 요청을 전달하여 사용자 경험을 개선할 수 있음

  • 응답 시간을 기반으로 하기 때문에 서버의 부하상태, 활성 연결 수와 같은 다른 요소들을 고려해야하는 경우에는 적합하지 않을 수 있음

IP 해시

  • 클라이언트 요청의 IP를 기반으로 요청을 전달함

  • IP를 이용해 구한 해시값을 기반으로 요청을 전달할 서버를 결정함

  • IP 해시 방식은 클라이언트와 서버간의 친화성 유지에 초점을 맞춘 방식으로 클라이언트의 상태 관리에 용이하다는 장점

  • 하지만, 상황에 따라 부하가 균등하게 이루어지지 않는다는 단점

[참고]

Last updated