You need multiple hosts in your url or you can plug-in your own discovery mechanism. See the client developers guide for more. With knowing about multiple instances, the primary fail-over mechanism is at connection time. The default selection strategy is random. With a connection pool you can add a lease test query (SET NEWINSTANCE TRUE) that can help with load balancing and acts as post connection fail-over. Beyond that you can also set the autoFailOver connection property to keep connections alive even after a failure - however connection/query state is not preserved. Session specific temp tables, on-going transactions, the current resultset(s), etc. will be lost. This is also covered in the client guide.