GSLB(Global Server Load Balancing)

agnusdei·2025년 4월 4일
0

Network

목록 보기
374/419

GSLB(Global Server Load Balancing) 요소 상세 설명

1. 문제

GSLB(Global Server Load Balancing)는 여러 지리적 위치에 분산된 데이터 센터 또는 서버 팜 간에 트래픽을 효과적으로 분산하는 기술이다.
GSLB는 다양한 요소를 고려하여 최적의 서버를 선택하며, 이 과정에서 고려되는 주요 요소는 다음과 같다.

  1. Network Proximity(네트워크 근접성)
  2. Geographic Proximity(지리적 근접성)
  3. SLB Session & Network Capacity(SLB 세션 및 네트워크 용량)
  4. SLB Connection Load(SLB 연결 부하)
  5. Server Health Check(서버 상태 검사)
  6. (Weighted) Round Robin(가중치 기반 라운드 로빈)

이제 각 요소에 대해 상세히 설명하겠다.


2. 답안

1. Network Proximity(네트워크 근접성)

네트워크 근접성이란 클라이언트와 서버 간의 네트워크 경로상의 거리를 의미하며, 주로 네트워크 레이턴시(Latency, 지연시간)를 기준으로 평가된다.

  • GSLB는 사용자의 요청을 가장 빠르게 응답할 수 있는 서버로 전달하기 위해 RTT(Round Trip Time, 왕복 시간)Hops(네트워크 노드 개수) 등을 측정한다.
  • 만약 여러 서버 중 하나의 서버로 가는 네트워크 홉(hop) 수가 많거나 지연 시간(latency)이 크다면, 해당 서버는 부하 분산의 대상에서 제외될 수 있다.
  • BGP(Border Gateway Protocol) 라우팅 정보를 분석하여 네트워크 경로 최적화를 수행하기도 한다.

2. Geographic Proximity(지리적 근접성)

지리적 근접성이란 사용자와 서버 간의 물리적 거리를 의미한다.

  • 데이터 센터는 보통 지리적으로 분산되어 있기 때문에, GSLB는 사용자와 가장 가까운 데이터 센터를 우선적으로 선택한다.
  • 예를 들어, 한국 사용자의 요청이 있을 때 아시아 지역에 있는 데이터 센터가 미국이나 유럽의 데이터 센터보다 우선적으로 선택된다.
  • IP 기반의 Geo-IP 데이터베이스를 활용하여 사용자의 위치를 파악하고, 가장 가까운 서버로 연결할 수 있도록 한다.

예제:

  • 클라이언트의 IP 주소가 일본(Asia)에 속하면, 미국(LA)에 있는 서버보다는 한국(Seoul)이나 일본(Tokyo) 데이터 센터로 연결되도록 설정할 수 있다.

3. SLB Session & Network Capacity(SLB 세션 및 네트워크 용량)

SLB(Server Load Balancer) 세션 및 네트워크 용량은 해당 데이터 센터의 실제 트래픽 처리 능력을 평가하는 요소이다.

  • SLB는 특정 데이터 센터가 이미 많은 세션을 처리 중이라면 추가 요청을 다른 데이터 센터로 분산시킨다.
  • 네트워크 용량을 측정하는 방법:
    • 총 대역폭(Bandwidth) 사용률
    • 현재 세션 수(Session Count)
    • 각 서버의 네트워크 처리 속도(Network Throughput)

예제:

  • 데이터 센터 A가 이미 80%의 네트워크 용량을 사용 중이라면, 새 요청을 데이터 센터 B 또는 C로 전달한다.

4. SLB Connection Load(SLB 연결 부하)

SLB Connection Load는 각 서버가 현재 처리 중인 연결 수(Active Connections)를 기반으로 부하를 평가하는 요소이다.

  • 특정 서버가 너무 많은 연결을 처리하고 있다면, 해당 서버로의 트래픽을 제한하고 다른 서버로 분산시킨다.
  • SLB는 로드 밸런서 알고리즘을 사용하여 연결 수를 조절한다.
  • 일반적인 연결 부하 평가 방법:
    • 현재 활성 세션(Active Sessions) 개수
    • 초당 요청 처리량(Requests per Second)
    • 서버의 CPU 및 메모리 사용률

예제:

  • 서버 A가 500개의 활성 연결을 처리 중이라면, 새 연결을 서버 B로 전송하여 부하를 분산시킨다.

5. Server Health Check(서버 상태 검사)

서버 상태 검사는 GSLB가 서버의 가용성(Availability)을 주기적으로 확인하는 과정이다.

  • 헬스 체크(Health Check) 방식:
    • ICMP Ping Test: 서버가 네트워크에서 응답하는지 확인
    • TCP Port Check: 특정 포트(예: 80, 443)가 열려 있는지 확인
    • HTTP(S) Health Check: HTTP 요청을 보내고 정상적인 응답(예: 200 OK)이 오는지 확인
    • Application Layer Check: 애플리케이션 내부의 상태(예: DB 연결 여부)를 검사

예제:

  • 서버 B가 다운되거나 네트워크 장애가 발생하면, GSLB는 자동으로 서버 A 또는 C로 트래픽을 우회시킨다.

6. (Weighted) Round Robin(가중치 기반 라운드 로빈)

Weighted Round Robin은 각 서버의 가중치(Weight)를 기반으로 트래픽을 분배하는 알고리즘이다.

  • 모든 서버가 동일한 성능을 가지고 있지 않기 때문에, 성능이 우수한 서버에 더 많은 요청을 할당할 수 있도록 가중치를 부여한다.
  • 가중치가 높은 서버일수록 더 많은 요청을 처리하도록 설정할 수 있다.
  • 가중치는 CPU, 메모리, 네트워크 대역폭 등을 기준으로 설정한다.

예제:

  • 서버 A(고성능): Weight = 3
  • 서버 B(일반 성능): Weight = 1
  • 트래픽을 4번 나누어 처리할 경우, A가 3번, B가 1번을 처리한다.

3. 현재 상황 및 향후 전망

  • 현재 GSLB는 DNS 기반 로드 밸런싱애플리케이션 레벨 라우팅을 함께 사용하여 더욱 정교한 부하 분산을 수행한다.
  • AI 기반 GSLB 솔루션이 등장하면서, 머신러닝을 활용한 실시간 트래픽 예측 및 자동 조정 기능이 발전하고 있다.
  • 향후 5G, 엣지 컴퓨팅(Edge Computing) 환경에서는 사용자와 가장 가까운 엣지 서버로의 자동 라우팅 기능이 더욱 강화될 전망이다.

4. 어린이 버전 설명

"인터넷에서 우리가 웹사이트를 빠르게 접속하려면, 가장 가까운 곳에 있는 서버를 찾아가는 게 좋아!"

  1. 네트워크 근접성: "인터넷 길이 짧으면 빨리 도착할 수 있어!"
  2. 지리적 근접성: "우리 집 근처 가게가 더 빨리 배달해줄 수 있어!"
  3. 서버 용량: "큰 가게는 많은 주문을 받을 수 있지만, 작은 가게는 빨리 꽉 차!"
  4. 서버 부하: "너무 많은 손님이 몰리면, 다른 가게로 가야 해!"
  5. 서버 건강 상태: "문을 닫은 가게는 주문을 받을 수 없어!"
  6. 라운드 로빈: "큰 가게에는 많이, 작은 가게에는 조금씩 나눠서 보내면 좋아!"

0개의 댓글