로드밸런싱(LoadBalancing)

김진회·2022년 11월 18일
0

cs

목록 보기
1/14

로드 밸런싱이란?

  • 로드(트래픽) + 밸런싱(균형을 맞추다)
  • 로드 밸런서를 두고 서버가 처리해야 할 요청을 여러 대의 서버로 나누어 보내 분산 처리하는 것
  • 고가용성(HA)을 보장할 수 있는 좋은 방법
  • 수평 확장 방법

    수직 확장(Vertical scale up) : 서버의 성능을 높임. 한계가 있음
    수평 확장(Horizontal scale out) : 서버를 여러개를 두고 분산 처리


로드 밸런싱 종류

OSI 7계층에 따라 나뉜다

  • L4(전송) : IP 주소와 포트 번호 부하 분산 가능
  • L7(응용) : URL 또는 HTTP 헤더에서 부하 분산 가능

로드 밸런싱 구현 방식

  • SW : 로직을 구현해서 트래픽을 분산
    • HAProxy, Reverse Proxy, 웹서버의 기능 사용
      Forward Proxy: 클라 - 프록시서버 - <인터넷> - 서버
      Reverse Proxy: 클라 - <인터넷> - 프록시서버 - 서버
    • 비용 저렴, 쉬운 변경 가능
  • HW : 서버를 물리적인 방법으로 묶음
    • L4 스위치, L7 스위치
    • 비싸지만 안전성이 높음(Reliable), 보안성이 좋음

로드 밸런싱 알고리즘

  • 라운드 로빈(RR) : 순차적으로 하나씩 차례로 보내기
  • 랜덤 선택 : 무작위로 선택. 간단하지만 평균적으로 골고루 분배됨
  • Least Connection : 서버가 LB에게 자신의 부하량을 보내고, 그 값에 따라 분배
  • Ratio : 여러 서버들의 각 성능을 고려해 weight를 주고 비율에 따라 분배

로드 밸런서 마스터-슬레이브

서버를 여러 개 두고 분산 처리해도 LB가 죽으면 서비스 이용이 불가능하다. (SPOF)

  • Single Point of Failure: 특정 포인트에서 Failure이 발생했을 때, 시스템 전체가 다운되는 현상

따라서, LB를 여러 개를 두고 마스터-슬레이브 방식으로 구축해서 마스터가 항상 일을 하고, 여분의 슬레이브 LB는 대기한다.

출처: 코더엑스독스 youtube
profile
SSAFY 7기. HMG. 협업, 소통, 사용자중심

0개의 댓글