I'm researching a topic of high availability database for a Rails application. I'm looking for Open Source based solutions.
At the moment our system is running on one application host + one db host, which means any of this two goes down I'm in trouble. I'd much prefer to have this configuration doubled and if possible running each on different site (but this is not a requirement).
The first thought was active-active replication, but it seems Postgresql is weak at this and MySQL is not rock solid neither (http://www.mysqlperformanceblog.com/2007/03/15/mysql-myisam-active-active-clustering-looking-for-trouble/). I'm thinking about a VoltDB, which seems like a sexy topic and can be used with Rails it seems.
Log sharing seems like a nice idea, but I'm quite new with this concept and I'm wondering about cost of such solution and how ie. MySQL is going to work with it. And it excludes any way of running the application at two different sites I guess.
I could really use some tips here, so feel free to ask questions and propose solutions. I'll edit this post to add any necessary information.
You can use HaProxy.
You can configure Haproxy to be failover, replication , or loadbalancer
http://www.alexwilliams.ca/blog/2009/08/10/using-haproxy-for-mysql-failover-and-redundancy/
VoltDB supports HA natively, we actually want people to run it on a cluster of commodity servers.