MySQL Warm Standby

I'm designing a new Railsapplication that needs to offer high availability. With Rails, we are already getting scalability out of the box.

We are considering using a Kemp LM1500 hardware load balancer to manage requests to our Rails application servers. There will be a separate server running MySQL 5.0 and all Rails application servers will be accessing this. I've been considering a couple of different alternatives for MySQL fault tolerance. MySQL clustering seems too complicated and still not 100% bulletproof. The other alternative is to create a MySQL Warm Standby using frequent transaction log backups and a monitor to detect when to fail over.

Has anyone done something like this before and if so, can you offer any advice?

We're using their NDB cluster right now. It works pretty well, but has some big caveats in terms of overall DB size, row size, limitations in numbers of inserts/updates per transaction, etc...

I think if Rails supported the concept of a write_db and a read_db we would have simply gone with a single master with multiple slaves, but it doesn't so we didn't.

If one server is enough for your needs, I would simply setup another server as a slave, then use whatever is necessary to cut over when the master fails.

-philip