I have heard about round robin solution. But that one is making different request to different ips to do load balancing. What I want is making one IP as master, only if it dies, the DNS server switch the IP to server B.

Is it possible on a Windows Server 2003 DNS Server?

Edited: Now i know DNS solution should be having some downtime between switching and a services task is need for monitoring. I will still consider it. What is other choices ?

What is the maximum DNS cache timing? i heard that google chrome / firefox has its internal cache. i think maximum 15minutes is acceptable.
–
TommyNov 7 '11 at 7:47

@Tommy At the protocol level a TTL of 1 or 2 days is not uncommon. The real problem is that the simple client APIs for querying the DNS (e.g. gethostbyname() don't tell the client what the real TTL is, so client caches just make one up.
–
AlnitakNov 7 '11 at 8:27

There are options that have been designed for redundancy - use one of them. DNS is not designed for this.

Cheapest way to get what you want is to set up Windows Network Load Balancing on your servers, which allows them both to listen on the same IP address.

Network Load Balancing automatically detects the failure of a server, and then quickly reassigns client computer traffic among the remaining servers. This safeguard can help you to provide uninterrupted, continuous service for your critical business programs.

There's lots of drawbacks in this approach - DNS records cached, and often for much longer than time that you specify in the DNS record (TTL). Thus it will make your site inaccessible for certain period of time, at least for some users. Listing normally both records and removing failed ones is a bit better but still those users who try the failed record will experience long delays and error messages.

Despite the advantages (it's easy to setup and cheap), you still may want to check other approaches to failover.

Anyway, if you are still into it, there's dynamic DNS to change records. You will also need some service that will monitor your hosts and update the DNS. You may setup DNS server and monitoring yourself. Or there's a lot of DNS providers that can do some kind of monitoring for you and do the updates (like tzoha.com or try googling dynamic DNS failover). But don't be fooled by their ads, they still can't overcome conceptual problems of DNS failover.