트래픽이 적지 만 업무상 중요한 웹 사이트 (두 지역에 걸쳐)에서 몇 년 동안 DNS RR 장애 조치를 실행했습니다.
잘 작동하지만 어려운 방법을 배운 세 가지 이상의 미묘한 점이 있습니다.
1) 클라이언트가 사용할 수있는 캐시 된 DNS에서 둘 다 활성화 된 것으로 간주되면 브라우저는 작동하지 않는 IP에서 30 초 (마지막으로 확인한 시간) 후에 작동하는 IP로 장애 조치됩니다. 이것은 기본적으로 좋은 것입니다.
그러나 사용자가 30 초 동안 "반으로"대기하는 것은 용납 할 수 없으므로 TTL 레코드를 며칠 또는 몇 주가 아닌 몇 분으로 업데이트하여 중단시 다운 된 서버를 빠르게 제거 할 수 있습니다. DNS에서. 다른 사람들은 그들의 답변에서 이것을 언급했다.
2) 귀하의 네임 서버 중 하나 (또는 두 개의 지리적 위치 중 하나)가 라운드 로빈 도메인을 제공하는 서비스가 다운되면 기본 도메인이 다운되면 다른 문제가 발생하여 제거 할 수 있습니다. 네임 서버에 대한 SOA TTL / 만료를 충분히 낮은 값으로 설정하지 않은 경우 DNS에서 네임 서버가 다운되었습니다. 여기에 기술적 인 세부 사항이 잘못되었을 수 있지만, 단일 장애 지점으로부터 실제로 방어하기 위해 필요한 TTL 설정이 하나 이상 있습니다.
3) 웹 API, REST 서비스 등을 게시하면 일반적으로 브라우저에서 호출하지 않으므로 DNS 페일 오버는 실제 결함을 나타 내기 시작합니다. 이것이 "권장되지 않음"이라고 말한 일부 사람들이 말하는 이유 일 수 있습니다. 내가 그렇게 말하는 이유는 다음과 같습니다. 첫째, 이러한 URL을 사용하는 앱은 일반적으로 브라우저가 아니므로 일반적인 브라우저의 30 초 장애 조치 속성 / 논리가 없습니다. 둘째, 두 번째 DNS 항목이 호출되는지 또는 DNS가 다시 폴링되는지 여부는 API / REST 클라이언트가 사용하는 프로그래밍 언어에서 네트워킹 라이브러리의 저수준 프로그래밍 세부 사항과 이들이 어떻게 호출되는지에 따라 크게 좌우됩니다. API / REST 클라이언트 앱. (이들 아래에서 라이브러리는 get_addr을 호출하고 언제? 소켓이 멈추거나 닫히면 앱이 새 소켓을 다시 열 수 있습니까? 시간 초과 논리가 있습니까? 등)
싸고, 잘 테스트되었으며, "주로 작동합니다". 대부분의 경우와 마찬가지로 마일리지가 다를 수 있습니다.