Round robin is cheap and easy but may be not be the best solution for you. In a round robin setup you put all of the servers for that domain into one A record and DNS servers hand out one (and only one) of those records to any request. If you have three servers and two are down round robin will direct your customers to non-functioning web servers and error messages on average 2/3 times. Alternatively you could try short TTL DNS records and be updating your DNS manually or automatically as servers go up and down. Not much fun, that and it scales poorly.
Unfortunately the cost and complexity ramp up pretty quickly from there. Since your two servers are on different networks (and I am assuming different locations?) you'd need to look at a load balancer (or just a proxy) that answers web requests and relays them to whichever server(s) are up. It would need to be at one of the locations/networks you have (making that one more critical for failures, or at another location, adding complexity and still being pretty critical. You'll have to look into putting together the proxy yourself, buying one as an appliance, or working with a service provider who can do some of this for you.
And synching: As noted above you'll need to keep the databases synched with MySQL replication or another tool, either master-slave or multi-master, depending on your read/write ratios and performance requirements. And the code will have to be kept in sync across the front ends. I strongly recommend a master repository (eg SVN) that you use to populate the frontends for speed, ease of management, and peace of mind.
You have some work ahead of you if this is the way things need to go. G'luck and have fun!