Virtual Name Server Routing for DNS Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current DNS configurations, such as active/active setups, do not effectively handle failures like NXDOMAIN responses, leading to prolonged downtime and customer impact due to long TTL values and complex manual updates required to shift traffic away from unhealthy name servers.
Innovation Solution
Implementing a system with virtual name servers mapped to actual name servers, where a monitoring service identifies unhealthy servers and updates virtual name server mappings to healthy ones, allowing for quicker traffic diversion with lower TTL values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If active/active DNS configuration is used to provide fault tolerance, then protection against name server failures is improved, but the system cannot protect against NXDOMAIN response errors and client computers will not re-query other DNS servers
Solution Approach 1:
A virtual name server is introduced as an intermediary between client computers and actual name servers. The virtual name server receives DNS queries, determines the health status of backend actual name servers, and selectively forwards queries only to healthy servers. This mediator architecture allows the system to handle NXDOMAIN errors by preventing queries from reaching unhealthy servers in the first place, while maintaining fault tolerance through the virtual server's intelligent routing decisions.
2Reliability
If manual updates are used to shift traffic away from unhealthy name servers, then traffic diversion can be achieved, but the process is complex and time-consuming due to long TTL values
Solution Approach 1:
The virtual name server implements self-service by automatically monitoring the health status of actual name servers and autonomously adjusting query routing without human intervention. When an actual name server becomes unhealthy, the virtual server detects this condition and automatically stops forwarding queries to it, eliminating the need for manual DNS record updates and reducing traffic diversion time from minutes to seconds.
Solution Approach 2:
The system implements continuous feedback loops where the virtual name server monitors response patterns from actual name servers and adjusts routing decisions based on this feedback. When NXDOMAIN errors or other failure indicators are detected, the virtual server uses this feedback to dynamically reroute queries to healthy servers, achieving automatic and timely traffic diversion without manual intervention.
3Reliability
If long TTL values are used in DNS records, then DNS cache effectiveness is improved, but the mean time to recovery (MTTR) for unhealthy name servers increases
Solution Approach 1:
The DNS resolution process is segmented into two independent layers: the virtual name server layer that handles routing decisions, and the actual name server layer that provides DNS records. This segmentation allows the virtual server to implement short TTL values for its own routing records while maintaining the effectiveness of long TTL values in the underlying DNS cache. The virtual server's rapid failover capability compensates for the shorter TTL, achieving both cache effectiveness and fast recovery.
Data Source
AI summary
A method and system for managing domain name system (DNS) name servers using virtual name servers is disclosed. A plurality of virtual name servers are mapped to a plurality of actual name servers of the DNS. Each actual name server stores at least one record identifying a domain and an Internet Protocol (IP) address of a computer hosting that domain. Information is received from a monitoring service computer identifying which actual name servers are unhealthy and which actual name servers are healthy. Based on this information, the mapping of each virtual name server that is mapped to an unhealthy actual name server is updated to map to one of the healthy actual name servers.


