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.
If you want true HA, you need TWO load balancers.
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.
It also doesn't allow for schema changes while online.
The other alternative is to create a MySQL Warm Standby using frequent
transaction log backups and a monitor to detect when to fail over.
Yes. This is a good solution, and MySQL can replicate online in near
real time. In many cases, you can also read-balance across the master
and/or replicas as well.