Load Balancing

김민성·2023년 3월 9일
0

Network

목록 보기
8/10


: 둘 이상의 CPU or 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것

  • 웹 사이트에 접속하는 인원이 급격히 증가
    -> 서버 1대로는 모든 트래픽 감당 불가
    -> 하드웨어 성능 올림(Scale-up) / 여러 서버가 나눠서 일(Scale-out)
  • 하드웨어 성능 향상 비용이 비싸고, 서버가 여러 대면 무중단 서비스를 제공하는 환경 구성 용이
    -> Scale-out이 효과적
    여러 서버에게 균등하게 트래픽 분산 = 로드 밸런싱

로드 밸런싱

: 분산식 웹 서비스, 여러 서버에 부하(Load)를 나누어 줌.

  • LoadB Balancer를 클라이언트와 서버 사이에 두고 부하가 일어나지 않도록 여러 서버에 분산시켜줌
  • 사이트 규모에 따라 웹 서버를 증설하면서 로드 밸런서로 관리해주면 웹 서버 부하 해결 가능

로드 밸런싱 기법

라운드 로빈

서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식
-> 여러 대의 서버가 동일한 스펙을 갖고 있고, 서버와의 연결(세션)이 오래 지속되지 않는 경우 활용

가중 라운드 로빈

각 서버마다 가중치를 두고 가중치 높은 서버에 클라이언트 요청 우선 배분
-> 서버의 트래픽 처리 능력이 상이한 경우
EX) 서버 A : 가중치 5, 서버 B : 가중치 2
-> 로드 밸런서는 라운드로빈 방식으로 A에 5개, B에 2개 요청

IP 해시

클라이언트의 IP 주소를 특정 서버로 매핑하여 요청 처리
-> 사용자의 IP를 해싱해 로드를 분배하기 때문에 사용자가 항상 동일한 서버로 연결되는 것을 보장

최소 연결 방식

요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버에 우선 배분
-> 자주 세션이 길어지거나, 서버에 분배된 트래픽들이 일정하지 않은 경우에 적합

최소 응답 시간 방식

서버의 현재 연결 상태와 응답 시간을 모두 고려하여 트래픽 배분
-> 가장 적은 연결 상태와 가장 짧은 응답 시간을 보이는 서버에 우선 배분
응답 시간(Response Time) : 서버에 요청을 보내고 최초 응답을 받을 때까지 소요되는 시간

L4 로드 밸런싱과 L7 로드 밸런싱

로드 밸런서 장애 대비

: 서버를 분배하는 로드 밸런서에 문제가 생길 수 있기 때문에 로드 밸런서를 이중화하여 대비
: Active 상태와 Passive 상태

0개의 댓글