The F5 GTMs automatically reroute users to one of the available datacenters should one fail. How does it do this? For instance the F5 could act as a DNS server and simply serve a different IP to clients but how would it get around caching?
I'm interested in this because I'd like to see whether obtaining this sort of availability is possible with open source tools that could be coded to do similar stuff
The F5 GTM does its load balanancing ENTIRELY with DNS. GTM doesn't do any physical routing of traffic.
It has a massive set of health checks it can perform on hosts, on services, or on groups of services that are tied together as "distributed applications" and when any of these fail, it uses DNS to reroute to the right place
In terms of getting around caching, you set your TTLs very low (10-30s) so that you minimize effects of folks hanging onto IPs.
Have a look at this article for a discussion of open source alternatives to F5 BigIP:
https://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/52/aft/1178927/showtab/groupforums/Default.aspx
I've been happy with our F5 GTMs and LTMs so far, but they're indeed expensive.
its most likely due to a heartbeat between the devices. we use radware for our load balancing, but were not doing it across the internet cloud, we have a private connection between our radware devices.
if you have a test enviroment, try inlab's balance product. its a gpl licensed.
hope this helps! :)