로드 밸런싱에 대해서 설명해 주세요.

2025. 1. 7. 09:16·백엔드 면접

로드 밸런싱은 트래픽의 고른 분배를 위해 사용되는 기술입니다. 로드 밸런싱은 로드 밸런서에 의해 수행되며, 일반적으로 클라이언트와 다중화된 서버 사이에 위치하여 클라이언트는 로드 밸런서에 요청을 보내고, 로드 밸런서는 해당 요청을 각 서버에 균등하게 분배합니다. 로드 밸런싱을 통해 애플리케이션의 가용성, 확장성, 보안 및 성능을 확보할 수 있습니다.


로드 밸런싱 알고리즘은 무엇인가요?

부하가 균등하게 분산되도록 부하 대상, 즉 서버를 선택하는 방법을 로드 밸런싱 알고리즘이라고 합니다. 

 

라운드 로빈 방식은 모든 요청이 순서대로 처리되는 방식입니다. 예를 들어 A, B, C 서버 3대가 존재하면 요청은 ABCABC 순서대로 전달됩니다. 모든 서버의 처리 능력이 동등하고, 요청의 고른 분산이 중요한 경우 고려할 수 있습니다. 구현이 쉽고 고른 분산을 보장한다는 것이 장점입니다. 하지만, 서버 부하나 응답 시간을 고려하지 않고 서버의 처리 능력이 다른 경우 비효율적입니다.

 

최소 연결 방식은 가장 적은 활성 연결이 존재하는 서버에게 요청을 전달하는 방식입니다. 각 서버의 처리 능력이 다른 경우에는 적합하지 않을 수 있습니다. 처리 능력이 큰 서버는 상대적으로 활성 연결을 많이 수립할 수 있기 때문입니다.

각 서버의 처리 능력이 비슷하지만 특정 이유로 한 서버에 동시 연결 수가 많아지는 상황일 경우 고려해 볼 수 있습니다.

 

가중치 라운드 로빈 방식은 라운드 로빈 방식에 가중치 개념을 추가한 방식입니다. 각 서버는 처리 능력과 가용 자원에 따라서 가중치를 할당 받게 됩니다. 그리고 라운드 로빈 방식을 사용하되, 가중치가 높은 서버는 상대적으로 많은 요청을 받게 됩니다.

 

가중치 최소 연결 방식은 최소 연결 방식에 가중치 개념을 추가한 방식입니다. 할당된 가중치에 대한 활성 연결 비율이 가장 낮은 서버로 요청을 전송하게 됩니다.

 

최소 응답 시간 방식은 응답 시간이 가장 빠른 서버에 요청을 전달하는 방식입니다. 가장 빠르게 수행되는 서버에 요청을 전달함으로써 사용자 경험을 향상시킬 수 있습니다. 응답 시간을 기반으로 하기 때문에 서버의 부하 상태, 활성 연결 수와 같은 다른 요소들을 고려해야 하는 경우에는 적합하지 않을 수 있습니다.

 

IP 해시 방식은 클라이언트 요청의 IP를 기반으로 요청을 전달합니다. IP를 이용해 구한 해시값을 기반으로 요청을 전달할 서버를 결정합니다. 이 방식은 동일한 클라이언트의 요청이 일관되게 동일한 서버로 라우팅 되도록 보장하여 상태 기반 통신을 용이하게 합니다. 하지만 상황에 따라서 부하가 균등하게 이루어지지 않는다는 단점이 있습니다.

 

'백엔드 면접' 카테고리의 다른 글

캐싱 전략에 대해서 설명해주세요.  (0) 2025.01.09
동시성과 병렬성에 대해서 설명해 주세요.  (0) 2025.01.08
다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은 무엇이 있을까요?  (0) 2025.01.06
SOLID 원칙에 대해서 설명해 주세요.  (0) 2025.01.03
DB Replication에 대해서 설명해 주세요.  (0) 2025.01.02
'백엔드 면접' 카테고리의 다른 글
  • 캐싱 전략에 대해서 설명해주세요.
  • 동시성과 병렬성에 대해서 설명해 주세요.
  • 다중 서버 환경에서 세션 기반 인증 방식을 사용하는 경우 발생할 수 있는 문제점은 무엇이 있을까요?
  • SOLID 원칙에 대해서 설명해 주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    토스 페이먼츠
    백엔드 면접
    raid
    JPA
    스프링
    오블완
    자바
    데브코스
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
로드 밸런싱에 대해서 설명해 주세요.
상단으로

티스토리툴바