Назад | Перейти на главную страницу

Репликация MySQL или кластер MySQL?

В настоящее время я запускаю веб-приложение Rails 3 с MySQL на одном первом сервере и приложение Rails API на втором сервере, которое подключается к базе данных MySQL с первого сервера.

Меня не устраивает, что API зависит от базы данных с первого сервера, и я решил использовать репликацию / кластеризацию, но я не уверен, что лучше всего подходит для моего случая?

Что, если один узел выйдет из строя, означает ли это, что как только он выйдет из строя и будет использовать второй узел в качестве донора, весь кластер станет недоступен? Как мне этого избежать?

Как вы думаете, какой вариант здесь лучше всего?

Таким образом, вы не можете кластеризовать только 2 узла. Вам нужен кворум, иначе вы можете потерять сервер и разделить мозг, тогда вы не будете уверены, у какого из них есть какие данные.

У вас может быть 2 сервера данных и 3-й сервер для голосования, который не хранит данные, а только член кластера для голосования.

Обычно у меня есть кластер mysql, и все мои клиенты подключаются локально к haproxy, и haproxy решает, куда отправлять соединения, и он отправляет все записи на один сервер в 100% случаев, пока он не умирает, а затем переходит в резервный сервер.