Я исследую тему базы данных высокой доступности для приложения Rails. Я ищу решения с открытым исходным кодом.
В настоящий момент наша система работает на одном хосте приложения + одном хосте db, что означает, что любой из этих двух выходит из строя. У меня проблемы. Я бы предпочел, чтобы эта конфигурация была удвоена и, если возможно, запускала каждую на другом сайте (но это не является обязательным).
Первой мыслью была активная-активная репликация, но похоже, что Postgresql в этом слаб, и MySQL тоже не очень надежен (http://www.mysqlperformanceblog.com/2007/03/15/mysql-myisam-active-active-clustering-looking-for-trouble/). Я думаю о VoltDB, который кажется привлекательной темой и, кажется, может использоваться с Rails.
Совместное использование журналов кажется хорошей идеей, но я новичок в этой концепции, и мне интересно, сколько стоит такое решение и как это сделать. MySQL будет работать с этим. И это исключает любой способ запуска приложения на двух разных сайтах.
Я действительно мог бы использовать здесь несколько советов, поэтому не стесняйтесь задавать вопросы и предлагать решения. Я отредактирую этот пост, чтобы добавить любую необходимую информацию.
VoltDB изначально поддерживает HA, и мы действительно хотим, чтобы люди запускали его на кластере обычных серверов.
Вы можете использовать HaProxy.
Вы можете настроить Haproxy для переключения при отказе, репликации или балансировки нагрузки.
http://www.alexwilliams.ca/blog/2009/08/10/using-haproxy-for-mysql-failover-and-redundancy/