iii) Use multiple addresses, one of which is a "virtual address"
that is
guaranteed to be reachable all the time, albeit slowly. Use the
virtual
address to start connections. Use MIPv6 mechanisms to divert to an
actual address.
What do you do when the network hosting your HA drops dead?
That's why I was mentioning a virtual address rather than an HA. Are you
familiar with the distributed hash table algorithms? Basically, a DHT is
a reliable overlay on top of an arbitrary network. In a classic DHT
design, nodes have identifiers randomly spread in a large number space.
They maintain "routing tables" that allow them to forward a request for
a given number to the host most likely to know about it, etc. The common
trade-off is to have routing tables that scale as the logarithm of the
size of the network (O(log N)), while the number of relays required to
reach a specific destination also scales as O(log N). The routing table
would contain the current addresses/locators associated with the
identifier.