2016년 10월 6일 목요일

[Network] GSLB (Global server Load Balancig)


GSLB(Global server Load Balancig)


서버의 상태에 상관없이 등록된 IP를 배포하던 전통적인 DNS 서비스를 발전시킨 형태이다. GSLB는 서버의 상태정보를 확인 후 IP 정보를 배포함으로써, 최적의 서버로 연결시키는 기능을 제공한다.  

하나의 도메인 주소에 대해서 여러 개의 IP주소를 넘겨줄 수 있는데, 이 기능을 이용해서 가용성 구성과 로드 밸런싱 기능을 수행할 수 있다. 하지만 가용성과 로드 밸런싱이 본 기능이 아니라서, 이런 목적으로 사용하기에는 한계가 있다.

예를들어 클라이언트가 표준 DNS에 질의를 할 경우, DNS 서버는 로컬 데이터베이스의 IP 목록을 확인해서 그 중 하나를 반환 할 뿐, 네트워크 지연, 성능, 트래픽 유입, 서비스 실패 등은 전혀 고려하지 않는다.

이런 한계에도 불구하고 인터넷 영역에서 로드 밸런싱을 할 수 있다는 장점이 있다. 지역을 뛰어넘는 넓은 영역에서의 로드밸런싱 및 가용성 구성을 위한 좋은 솔류션이되겠다. 물론 이를 위해서는 몇 가지 문제들을 해결해야 하고, 이 문제를 해결한게 GSLB다.

GSLB와 DNS 작동 방식 비교


재해복구
  • DNS는 서버의 상태를 알 수 없다. 따라서, 서비스를 실패하는 유저가 생길 수 있다.
  • GSLB는 서버의 상태를 모니터링 한다. 실패한 서버의 IP는 응답에서 제외 하므로, 유저는 서비스를 계속 이용할 수 있다.
로드밸런싱
  • DNS는 Round Robin 방식을 사용한다. 정교한 로드 밸런싱이 힘들다.
  • GSLB는 서버의 로드를 모니터링 한다. 로드가 적은 서버의 IP를 반환하는 식으로 정교한 로드밸런싱을 할 수 있다.
레이턴시 기반 서비스
  • DNS는 Round Robin 방식을 사용한다. 유저는 네트워크상에서 멀리 떨어진 위치의 서버로 연결할 수도 있다.
  • GSLB는 각 지역별로 서버에 대한 레이턴시(latency) 정보를 가지고 있다. 유저가 접근을 하면, 유저의 지역으로 부터 가까운 서버로 연결을 한다.
위치기반 서비스
  • DNS에서 유저는 Round Robin하게 서버로 연결된다.
  • GSLB는 유저의 지역정보를 기반으로, 해당 지역을 서비스하는 서버로 연결 할 수 있다.

[출처]

http://www.joinc.co.kr/w/man/12/GSLB

댓글 없음:

댓글 쓰기