로드 밸런싱

JH·2022년 11월 20일
0

Computer Science

목록 보기
7/9

개념

로드: 서버가 받는 트래픽(부하)
로드 밸런싱: 트래픽을 밸런싱해서 서버에게 분산시키는 것
로드 밸런서: 로드 밸런싱하는 모듈

트래픽을 해결할 수 있는 방법?

Vertical Scale-Up

서버 자체의 퍼포먼스를 늘리는 방법

❗️ 계속해서 늘려도 기술의 한계가 있다.

Horizontal Scale-Out

서버를 여러 대 분산시키는 방법 (분산 시스템)

⏩️ 여기서 로드밸런싱이 필요하다.

클라이언트 -- 로드밸런서 --> 서버 여러대

로드 밸런싱 전략

Round Robin

요청을 첫번째부터 순차적으로 보내기를 반복하는 방식
트래픽을 모든 서버가 골고루 가져간다.

Random Select

요청을 로드 밸런서가 랜덤으로 보내는 방식
한 서버만 보내면 과부하가 걸리겠지만 실제로는 모든 서버에게 간다.

Least Connection

서버에서 로드밸런서에게 상태를 알려주고 그에 따라 요청을 보내는 방식


분산시스템을 구축할 때 모든 서버의 스펙이 같지 않을 수 있기 때문에 성능 차이를 고려해 요청을 전달할 수 있다.

로드밸런싱 구축

  1. SoftWare
    • 로직을 구현해서 트래픽을 분산시키는 방법
    • HAProxy, Reverse Proxy(NginX, Apache)
    • 장점: 저렴한 비용, 로드밸런서를 scale-out할 때 간편
  1. HardWare
    • 물리적 방법으로 서버를 묶는 방법
    • L4/L7 스위치
    • 장점: 안정적, 높은 보안성
      단점: 높은 비용

로드 밸런서가 죽으면?

로드 밸런서가 하나만 있으면 SPOF가 발생할 수 있기 때문에 scale-out 할 필요가 있다.
SPOF: Single Point of Faliure...

https://www.youtube.com/watch?v=9_6COPOMZvI

profile
매일 한 문제씩 풀기

0개의 댓글

관련 채용 정보