본문 바로가기

CS/네트워크

로드밸런싱

1. 로드 밸런싱이란?

트래픽이 대량으로 발생했을 때, 여러 대의 서버가 분산 처리하여 트래픽을 분산시키는 기법이다.

2. 로드 밸런싱의 주요 기능

  • NAT(Network Address Translation)
    • 사설 IP주소를 공인 IP주소로 바꾸는 변조기
  • Tunneling
    • 눈에 보이지 않는 통로를 만들어 통신할 수 있도록 하는 개념
    • 데이터를 캡슐화하여 연결된 상호 간의 패킷만을 구별하여 캡슐화 해제 가능
  • DSR
    • 서버에서 클라이언트로 응답 시 스위치를 거치지 않고 곧바로 클라이언트로 응답
  • Health Check
    • 주기적인 Health Check를 통해 서버 장애 여부 판단
    • 몇 대에 이상이 생기더라도 정상 작동중인 다른 서버로 트래픽을 보내주는 Fail-over 가능
    • L3 체크, L4 체크, L7체크 등

3. 로드 밸런서의 종류

OSI 7계층에 따라 나뉜다.

 

L2

  • 데이터 링크 계층. MAC 주소를 바탕으로 로드밸런싱을 수행한다.

L3

  • 네트워크 계층. IP주소를 바탕으로 로드밸런싱을 수행한다.

L4

  • 전송 계층. IP와 Port에서 로드밸런싱을 수행한다.
  • TCP,UDP

L7

  • 어플리케이션 계층. 사용자 레벨에서 로드밸런싱을 수행한다.
  • HTTP, HTTPS, FTP

로드밸런싱 알고리즘

라운드 로빈 방식

순차적으로 선택하여 요청 분산

가중치 라운드 로빈 방식

각 서버의 가중치에 따라 요청 분산

IP 해싱 방식

클라이언트의 IP주소를 해시 처리하고, 특정 서버로 요청을 매핑하여 트래픽 분배

사용자는 항상 동일한 서버로 연결

최소 연결 방식

연결된 커넥션 수가 가장 작은 서버에 분배

최소 응답 시간 방식

서버의 응답 시간이 가장 짧은 서버에 분배

 

참고자료

https://icarus8050.tistory.com/101

 

[Network] 로드밸런싱 (Load Balancing)

로드밸런싱 (Load Balancing)  로드밸런싱은 클라이언트의 요청을 받는 서버의 부하를 줄이기 위해 트래픽을 분산시키는 기법입니다. 그리고 그 역할을 로드밸런서(LB, Load Balancer)가 수행합니다. 로

icarus8050.tistory.com

https://nesoy.github.io/articles/2018-06/Load-Balancer

 

로드 밸런서(Load Balancer)란?

 

nesoy.github.io

https://www.stevenjlee.net/2020/06/30/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%9D%98-%EB%B6%80%ED%95%98%EB%B6%84%EC%82%B0-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%8B%B1-load-balancing-%EA%B7%B8/

 

[이해하기] 네트워크의 부하분산, 로드밸런싱 (Load Balancing) 그리고 로드밸런서 (Load Balancer) | STEVEN

수백-수천만명의 접속자를 감당하기 위하여 서비스를 제공하는 측에서는 미리 트래픽을 예측하고 서버와 네트워크를 증설 해두게 됩니다. 특히, 한 서버의 성능을 높이는 스케일업 (Scale-up) 작

www.stevenjlee.net

 

'CS > 네트워크' 카테고리의 다른 글

쿠키와 세션  (0) 2021.09.18
HTTP 메소드  (0) 2021.09.17
Authentification과 Authorization의 차이  (0) 2021.05.25
HTTP 헤더  (0) 2021.05.25
GET과 POST  (0) 2021.05.18