AWS

로드밸런스 알고리즘 종류

Raconer 2023. 7. 5. 00:00
728x90
  1. 라운드 로빈(Round Robin) 알고리즘
    • 특징
      • 트래픽을 순서대로 서버에 분배합니다.
      • 간단하고 공평한 방식으로 동작합니다.
    • 장점
      • 각 서버가 동일한 부하를 처리하므로, 균등한 부하 분산이 이루어집니다.
      • 구현이 간단하고 오버헤드가 낮습니다.
    • 단점
      • 서버의 성능 차이가 크면 효과가 떨어질 수 있습니다.
    • 사용 예시
      • 소규모의 서버 그룹이 균등한 처리 능력을 가지고 있을 때 사용합니다.
  2. 가중 라운드 로빈(Weighted Round Robin) 알고리즘
    • 특징
      • 각 서버에 가중치를 부여하여 부하를 분배합니다.
      • 서버의 성능을 반영하여 부하를 분산시킵니다.
    • 장점
      • 서버의 성능 차이를 고려하여 부하를 분산시킬 수 있습니다.
      • 성능이 다른 서버 그룹을 운영할 때 효과적입니다.
    • 단점
      • 가중치 설정에 주의가 필요하며, 잘못 설정하면 부하가 불균형할 수 있습니다.
    • 사용 예시
      • 서버의 성능이 다른 경우 가중치를 설정하여 부하를 분산시킬 때 사용합니다.
  3. 최소 연결(Least Connections) 알고리즘
    • 특징
      • 현재 연결된 클라이언트의 수가 가장 적은 서버에 트래픽을 할당합니다.
      • 서버의 현재 부하 상태를 고려하여 부하를 분산시킵니다.
    • 장점
      • 서버의 실시간 부하를 고려하여 효과적으로 부하를 분산시킵니다.
    • 단점
      • 서버들의 처리 능력이 비슷한 경우 성능 향상이 미비할 수 있습니다.
    • 사용 예시
      • 각 서버의 성능이 유사하고, 연결 수가 부하를 정확히 반영할 때 사용합니다.
  4. IP 해시(IP Hash) 알고리즘
    • 특징
      • 클라이언트의 소스 IP 주소를 해시하여 고유한 값으로 변환한 뒤, 해당 값을 기준으로 서버를 선택합니다.
      • 동일한 클라이언트는 항상 동일한 서버로 연결됩니다.
    • 장점
      • 세션 연결을 유지해야 하는 경우에 유용합니다.
      • 특정 클라이언트가 항상 동일한 서버에 연결되어야 할 때 사용합니다.
    • 단점
      • 서버 수가 증가하거나 클라이언트 IP 주소 패턴이 일정하지 않은 경우 부하가 불균형할 수 있습니다.
    • 사용 예시
      • 세션 유지를 필요로 하는 애플리케이션에서 사용됩니다.

각 로드 밸런스 알고리즘은 특정한 상황과 요구사항에 맞게 선택되어야 합니다. 애플리케이션의 트래픽 특성, 서버의 성능, 확장성, 가용성 등을 고려하여 적절한 알고리즘을 선택하고 구성해야 합니다.

728x90

'AWS' 카테고리의 다른 글

[SES] AWS Simple Email Service & Spring Boot(Kotlin)  (0) 2024.10.09
Simple Queue Service_Spring Boot 2.x  (0) 2023.04.16
Simple Queue Service_이론  (0) 2023.04.16
Spring Boot, Ubuntu, Nginx 배포 방법  (0) 2023.04.16