[Server] GSLB

Global Server Load Balancing

GSLB는 전 세계에 분산된 서버간 로드 밸런싱을 수행한다. 이를 통해 지리적으로 분산된 어플리케이션 서버 전반에 있어 효율적인 트래픽 분산을 돕는다.

GSLB의 특징

Disaster Recovery

GSLB는 DNS와 달리 서버의 상태를 모니터링 한다. 그렇기 때문에 DNS를 사용한 로드밸런싱, 정확하게 말하면 DNS에 여러 IP를 등록해서 round-robbin으로 주소를 리턴하는 방식에서는 장애가 발생한 서버의 주소를 리턴할 수 있는 반면, GSLB에서는 서버의 상태를 모니터링하기 때문에 장애가 발생한 서버의 IP는 응답에서 제외된다.

Site Load Balancing

DNS에서는 서버의 부하 상태를 알 수 없기에 서버 부하가 임계치까지 올라가도 과부화 상태의 서버로 요청을 연결하는 반면, GSLB에서는 서버의 부하 상태를 주기적으로 체크해 과부화된 서버로 사용자가 연결되지 않도록 한다.

Network Proximity

DNS에서는 사용자와 할당할 서버 사이 네트워크의 RTT(Round Trip Time)을 측정할 수 없기에 망 상태를 고려한 서버 선택이 불가능한 반면 GSLB는 사용자와 서버 사이의 RTT를 측정해 상태가 좋은 서버로 사용자가 연결되도록 한다.

Geographic Proximity

DNS에서는 사용자의 지리적 위치를 고려하여 서버를 선택할 수 없는 반면, GSLB에서는 사용자의 지리적 위치를 고려하여 가장 가까운 서버와 연결되도록 한다. 일반적으로 네트워크 근접성과 지리적 근접성을 비슷한 결과를 도출하지만 network congestion이나 failure같은 상황에는 다른 결과를 리턴할 수 있다.

Author: Song Hayoung
Link: https://songhayoung.github.io/2021/03/03/Server/gslb/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.