So, I have a need to mirror / replicate the database of a primary Drupal server to two backups. The backups do need to be within a minute or two mirror -- ie: once daily backups / transfers are not acceptable. I've read through some of the other forum posts, but I don't want to go down the road of MySQL replication. I've never had tremendously good luck with this. Cloud stuff like Amazon and MOSSO sound interesting, but not the direction I want to go just yet -- particularly with my limited knowledge. Plus I have the three servers -- I might as well use 'em.
Anyway, I wanted to check first if this is an acceptable / reliable method of mirroring. If you all think it has promise I'll try to actually turn it into a module.
The idea is to have the primary server (A) set up as an XML-RPC server within Drupal. It contains basic functions / procedures that when called via XML-RPC will return relevant data base table entries -- such as nodes, CCK stuff, users, profiles, etc. The requesting servers are of course the Drupal mirrors of B and C. They both make an XML-RPC request. The request would be something like node of highest value on B is X, please provide all node entries > X from A. I haven't quite figured an elegant call to update the profile_values and similarly non-indexed tables, but details, details.
Of course I'd rely on CRON to make the call every 1 to 5 minutes depending upon need and load.
Anyway, is this a reliable path to follow? Maybe someone already did this or has a better solution? Or is XML-RPC really not reliable? It seems like a relatively straight forward solution, but I can't help but to think I'm abusing Drupal and some methods here.
Comments
HA
Maybe something like drbd -> http://www.drbd.org/home/what-is-drbd/
Have fun and check my Drupal Profile: http://drupal.org/user/519