ETC - 로드밸런싱

불순분자들·2022년 8월 24일
0

ETC( 기타 )

목록 보기
5/24

로드 밸런싱( Load balancing )

컴퓨터 네트워크 기술로 둘이나 셋 이상의 중앙처리장치나 저장장치 등 퓨터 자원들에게 부하( Load )를 나누는 것을 의미한다.
-> 한 서버가 일을 다 처리하면 부담스러우니 여러 서버에게 일을 분산하겠다.

NLB와 ALB

쉽게 여러 서버가 분산 처리하는 것을 로드 밸런싱이라고 하는데, 로드 밸런서가 몇 계층에서 분산작업을 수행하는지에 따라 NLB( Network LoadBalancer )와 ALB( Application LoadBalancer )로 나눌 수 있다.

OSI 4계층, Transport 계층을 사용하는 NLB - IP 주소와 포트 번호 부하 분산 가능
OSI 7계층, Application 계층을 사용하는 ALB - URL 또는 HTTP 헤더에서 부하 분산 가능

NLB


-> 4계층의 Transport 계층( TCP, UDP )의 정보를 바탕으로 로드를 분산.

NLB 장점

  • 패킷의 내용을 확인하지 않고 로드를 분산하므로 속도가 빠르고 효율이 높음.
  • 데이터의 내용을 복호화 할 필요가 없어 안전.
  • ALB 보다 가격이 저렴.

NLB 단점

  • 패킷의 내용을 살펴볼 수 없어서 섬세한 라우팅 불가.
  • 사용자의 IP가 수시로 바뀌는 경우라면 연속적인 서비스를 제공하기 어려움.

ALB


-> 7계층의 Application 계층( HTTP, FTP, SMTP 등 )에서 로드를 분산하기 때문에 HTTP 헤더, 쿠키 등과 같은 사용자 요청을 기준으로 특정 서버에 트래픽을 분산하는 것이 가능.

  • L4 로드밸런서의 기능에 더하여, 패킷의 내용을 확인하고 그 내용에 따라 로드를 특정 서버에 분배하는 것이 가능.
  • 특정한 패턴을 지닌 바이러스를 감지해 네트워크 보호 가능.
  • Dos/DDos 와 같은 비정상적인 트래픽 필터링 가능.

ALB 처리 방식

  • URL 스위칭( URL Switching ) 방식 : 특정 하위 URL들은 특정 서버로 처리하는 방식.
  • 컨텍스트 스위칭( Context Switching ) 방식 : 클라이언트가 요청한 특정 리소스에 대해 특정 서버로 연결 가능.
  • 쿠키 지속성( Persistence with Cookies ) : 쿠키 정보를 바탕으로 클라이언트가 연결했던 동일한 서버에 계속 할당해 주는 방식.

ALB 장점

  • 상위 계층에서 로드를 분산하기 때문에 훨씬 더 섬세한 라우팅 가능.
  • 캐싱( Cashing ) 기능을 제공.
  • 비정상적인 트래픽을 사전에 필터링할 수 있어 서비스 안정성 높음.

ALB 단점

  • NLB에 비해 비쌈.
  • 패킷의 내용을 복호화해야해서 더 높은 비용이 듦.
  • 클라이언트가 로드밸런서와 인증서를 공유해야해서, 공격자가 로드밸런서를 통해 클라이언트의 데이터에 접근할 수 있는 보안상의 위험성 존재.

로드 밸런싱 Algorithm 종류

Round Robin

라운드 로빈은 클라이언트로 받은 요청을 로드밸런싱 대상 서버에 순서대로 할당받는 방식이다.
각 요청은 1 -> 1, 2 -> 2, 3 -> 3 서버에 할당한다.

  • 로드 밸런싱 대상 서버의 성능이 동일하고 처리 시간이 짧은 어플리케이션의 경우, 균등한 분산이 이루어져 이 방식을 사용한다.

가중 라운드 로빈 방식

가중 라운드 로빈 방식은 실제 서버에 서로 다른 처리 용량을 지정 할 수 있다.
각 서버에 가중치를 부여 할 수 있으며 , 지정한 정수값을 통해 처리 용량을 정한다.

최소 연결 방식

최소 연결 방식은 연결 수가 가장 적은 서버에 네트워크 연결 방향을 정한다.
동적인 분산 안고리즘으로 각 서버에 대한 현재 연결 수를 동적으로 카운트할 수 있고, 동적으로 변하는 요청에 대한 부하를 분산시킬 수 있다.

IP 해시 방식

클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식이다.
사용자의 IP를 해싱해( Hashing 임의의 길이를 지닌 데이터를 고정된 길이의 데이터로 매핑하는 것 )로드를 분배해서 사용자가 항상 동일한 서버로 연결되는 것을 보장함.

최소 리스폰 타임

서버의 현재 연결 상태와 응답시간을 고려하여 트래픽을 배분하는 방식이다.
가장 적은 연결 상태와 가장 짧은 응답시간을 보이는 서버에 우선적으로 로드를 배분한다.

profile
장래희망 : 침대 위 녹아든 치즈

0개의 댓글