Nominally, I'd want to see some sort of circular linked list. If (really, I should say 'when' since this is on the whiteboard for next year or two, but...if) I had back-ldap fronting to a bunch of redundant URIs, what I'd essentially have is
uri "ldap://data-center ldap://backup-center ldap://offsite" where capacity(data-center) > capacity(backup-center) > capacity(offsite). Ideally, it would retry all of those in a circle: data-center if possible, else backup, else offsite...else....sit on hands for $AWHILE, retry to data-center. HOWEVER...iff I am using backup-center or offsite, I'd ALSO want every $AWHILE(2?) to try to reconnect to the head of the list, i.e. data-center. The idea is pretty simple: always use the best server I can get access to. The closest analogy that comes to mind is MX records priority values, although that doesn't have to deal with long persistent connections, which I also find desirable. (It'd be best if this could be parallelized, so the attempt to try better servers doesn't interfere with the "hot" connections to the backup servers until the better servers are alive again? Yes, this will probably involve more mutexing and a bit of logic, but even small parts of this big idea would be nice resiliency additions.) Hope that makes sense, and maybe puts a motivating problem behind the question...
