로드밸런서

한결·2022년 2월 24일
0

Study

목록 보기
7/13

로드밸런서

로드밸런서는 서버에 가해지는 부하를 분산해주는 장치 또는 기술을 통칭함.
사용자의 수가 적을때는 모르겠지만, 수천만명이 된다면 서버가 감당하지 못하게 되기때문에 서버를 나눠서 일을 시킨다고 볼 수 있다.
로드밸런싱은 여러 대의 서버를 두고 서비스를 제공하는분산 처리 시스템에 필요한 기술.


수천만명의 클라이언트로 인해 증가한 트래픽에 대처하기 위해서는
scale-up : 하드웨어 성능 -서버 자체의 성능-을 확장하는 것
scale-out: 서버를 추가하여 여러 대의 서버로 나누는것
의 방법이 있다.
로드밸런싱은 후자scale-out에 사용되는 방법이다.

로드밸런싱의 장점은 적은 비용으로 무중단 서비스를 제공할 수 있다는 점이다

주요 기능에는

  • NAT(Network Address Translation)
  • Tunneling
  • DSR(Dynamic Source Routing protocol)

이 있다.

로드밸런싱 알고리즘

  • 라운드로빈 방식 RoundRobin Method
    : 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식
  • 최소 연결 방식 Least Connection Method
    : 요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버에 우선적으로 트래픽 배분.
    : 트래픽으로 인해 세선이 길어지는 경우에 사용
  • IP 해시 방식 IP Hash Method
    : 클라이언트의 IP 주소를 특정 서버로 매핑하여 요청 처리하는 방식
    : 사용자의 IP를 해싱해 로드를 분배하기 때문에 사용자가 항상 동일한 서버로 연결됨을 보장
  • 최소 리스폰 타임 Least Response Time Method
    : 서버의 현재 연결 상태와 응답시간을 모두 고려하여 트래픽 배분.
    : 가장 적은 연결상태와 가장 짧은 응답시간을 보이는 서버에 우선적으로 로드 배분

부하분산에는 L2, L3, L4, L7 등의 방법이 있지만, L4 로드밸런서,L7 로드밸런서방법이 가장 많이 활용됨
(L4부터 포트 정보를 바탕으로 로드를 분산하는 것이 가능하기 때문)

L4 로드밸런서는 네트워크 계층(IP, IPX)이나 트랜스포트 계층(TCP, UDP)의 정보를 바탕으로 로드 분산.
IP주소나 포트번호, MAC주소, 전송 프로토콜에 따라 트래픽을 나누는 것이 가능

L7 로드밸런서의 경우 애플리케이션 계층(HTTP, FTP, SMTP)에서 로드를 분산하기 때문에 HTTP 헤더, 쿠키 등과 같은 사용자의 요청을 기준으로 특정 서버에 트래픽 분산이 가능 - 더 세분화해 서버에 전달할 수 있음 + 특정한 패턴 지닌 바이러스 감지해 네트워크 보호 가능 + DOS,DDOS와 같은 비정상적인 트래픽 필터링 가능


출처 : https://nesoy.github.io/articles/2018-06/Load-Balancer https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

0개의 댓글