동일한 도메인을 가리키는 다중 A 레코드는 저렴한로드 밸런싱 기술로 DNS 라운드 로빈을 구현하는 데 거의 독점적으로 사용되는 것 같습니다.
DNS RR에 대한 일반적인 경고는 고 가용성에 적합하지 않다는 것입니다. 1 개의 IP가 중단되면 클라이언트는 몇 분 동안 계속 사용합니다.
로드 밸런서는 종종 더 나은 선택으로 제안됩니다.
두 주장 모두 완전히 사실이 아닙니다.
트래픽이 HTTP 인 경우 대부분의 HTML 브라우저는 이전 DNS가 다운 된 경우 새로운 DNS 조회없이 다음 A 레코드를 자동으로 시도 할 수 있습니다. 여기 3.1 장 과 여기를 읽으 십시오 .
여러 데이터 센터가 관련된 경우 DNS RR은 트래픽을 분산시킬 수있는 유일한 옵션입니다.
따라서 여러 데이터 센터와 HTTP 트래픽에서 DNS RR을 사용하는 것이 하나의 데이터 센터가 다운 될 때 즉각적인 장애 조치를 보장하는 유일한 방법이라는 것이 사실입니까?
감사,
발렌티노
편집하다:
- 물론 각 데이터 센터에는 핫 스페어가있는 로컬로드 밸런서가 있습니다.
- 즉각적인 장애 조치를 위해 세션 선호도를 희생해도됩니다.
- AFAIK가 DNS가 다른 데이터 센터 대신 데이터 센터를 제안하는 유일한 방법은 해당 데이터 센터와 연결된 IP (또는 IP)로만 응답하는 것입니다. 데이터 센터에 도달 할 수없는 경우 해당 IP도 모두 도달 할 수 없습니다. 즉, 스마트 HTML 브라우저가 다른 A 레코드를 즉시 시도 할 수 있더라도 로컬 캐시 항목이 만료되고 새로운 DNS 조회가 완료되고 새로운 작동중인 IP를 가져 오기 전까지 모든 시도가 실패합니다 (DNS는 자동으로 실패시 새로운 데이터 센터). 따라서 "스마트 DNS"는 즉각적인 장애 조치를 보장 할 수 없습니다.
- 반대로 DNS 라운드 로빈이 허용합니다. 하나의 데이터 센터에 장애가 발생하면 스마트 HTML 브라우저 (대부분의 브라우저)가 다른 캐시 된 A 레코드를 즉시 다른 (작동중인) 데이터 센터로 점프합니다. 따라서 DNS 라운드 로빈은 세션 선호도 또는 최저 RTT를 보장하지 않지만 클라이언트가 "스마트 한"HTML 브라우저 인 경우 즉각적인 페일 오버를 보장 할 수있는 유일한 방법 인 것 같습니다.
편집 2 :
- 어떤 사람들은 TCP Anycast를 결정적인 해결책으로 제안합니다. 에서 이 종이 (6 장) 애니 페일 위에 해당 설명 BGP 융합에 관한 것이다. 이러한 이유로 Anycast는 15 분에서 20 초까지 완료 할 수 있습니다. 토폴로지가이를 위해 최적화 된 네트워크에서 20 초가 가능합니다. 아마도 CDN 운영자 만이 그러한 빠른 장애 조치를 허용 할 수 있습니다.
편집 3 : *
- DNS 조회 및 추적 경로 (일부 전문가가 이중 확인 가능)를 수행 한 결과 :
- TCP Anycast를 사용하는 유일한 CDN은 CacheFly 인 것으로 보이며 CDN 네트워크 및 BitGravity와 같은 다른 운영자는 CacheFly를 사용합니다. 가장자리를 리버스 프록시로 사용할 수없는 것 같습니다. 따라서 즉시 장애 조치를 부여하는 데 사용할 수 없습니다.
- Akamai와 LimeLight는 지리 인식 DNS를 사용하는 것 같습니다. 그러나! 여러 개의 A 레코드를 반환합니다. traceroutes에서 반환 된 IP가 동일한 데이터 센터에있는 것 같습니다. 따라서 하나의 데이터 센터가 다운 될 때 이들이 100 % SLA를 제공 할 수있는 방법에 당황했습니다.