In message <20120820124734.GA14383@hiwaay.net>, Chris Adams writes:
Once upon a time, Patrick W. Gilmore <patrick@ianai.net> said:
* How many applications are even aware multiple addresses were returned?
Most anything that supports IPv6 should handle this correctly, since getaddrinfo() will return a list of addresses to try.
* How do you guarantee sub-second failover when most apps will wait longer than one second to see if an address responds?
That's a bigger issue. Also, for web services, the application might wait, but the end-user usually won't (if the site doesn't come up in a second, they move on to the something else).
You file RFE / bug reports against the clients for having crappy fail over behaviour. It isn't hard to write TCP based code that falls over to the next available server. You don't have to wait for connect to fail before you attempt to connect to the next address. You just use a smarter connect loop. UDP code is a little harder as the work needs to more spread though the code than just replacing the dumb connect loop with a smart connect loop. Mark -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org