Hello Ladies and Gents,
Up until recently we've been a single app server/single database kinda shop. However we're working to increase our level of uptime and resiliency.
To this end I think I have the application server redundancy narrowed down (WAS ND clustering). Additionally, our database is being mirrored to an off-site location and can be brought up within a few minutes of our main data centre going down.
The problem that I have is how do I get the connection pooling in my active app server nodes to connect to our backup database?
Here's the plan that I've been hashing out, but have yet implement. Any comments/suggestions would be MUCH appreciated.
1 - The production database server goes down.
2 - Active connections in the application server connection pool fail and the entire pool is purged. Each new request requiring a DB connection forces the app server to try and establish such a connection, but fails.
3 - The backup database server is brought up to active mode
4 - The DNS entry for this server is pointed to the backup server's address.
5 - The application server picks up on the DNS change (because I've modified the 'networkaddress.cache.ttl' to some number > 0)
6 - App server establishes connections to the backup database and all is well again.
Again, any comments/suggestions/questions you have would be MUCH appreciated.