В настоящее время у нас есть 3-узловой кластер Percona Xtradb, работающий в одном центре обработки данных. Мы хотим добавить отказоустойчивость в случае аварии, чтобы не полагаться на один центр обработки данных, и синхронизировать наши данные Percona со вторым центром обработки данных, чтобы мы могли легко переключать наши приложения для подключения к новому синхронизированному кластеру в случае такого мероприятие.
Хотя я знаю, что могу просто добавить больше главных узлов во многие центры обработки данных, мы не можем жертвовать увеличением времени записи туда и обратно для центра обработки данных в другом месте. Вместо этого мне было интересно, можно ли это сделать с помощью репликации MySQL. Я думаю, что нужно настроить это так:
Главный кластер Percona с 3 узлами -> База данных реплик MySQL -> Вторичный кластер Percona с 3 узлами
Хотя я понимаю, что возможна небольшая задержка реплик и данные могут рассинхронизироваться на несколько секунд, это компромисс, на который мы готовы пойти. С такой настройкой нам было бы легко переключать кластеры одним щелчком переключателя.
У меня есть несколько вопросов:
Я знаю много вопросов, но большое спасибо за вашу помощь!
Кластер -> MySQL -> Кластер работает. Хотя я сам не пробовал, я знаю, что Cluster-> Cluster должен был стать вариантом Скоро ™ несколько месяцев назад, так что вы можете пропустить промежуточный шаг. В PoV PXC вы порабощаете себя одной из машин, а другие машины порабощают себя вами; вы не столько "получаете данные и записываете данные", сколько получаете данные и позволяя получать данные от вас, если это различие имеет смысл.
Для повторной синхронизации просто настройте как мастер-мастер с настроенным вручную auto_increment_increment
и auto_increment_offset
на каждом из кластеров. Возможно, это просто, но в худшем случае это будет означать ограничение auto_increment_ {increment, offset}, выбранного PXC, что будет небольшим патчем.
Бонусные баллы: для максимальной скорости репликации измените (с sql_log_bin=0
в сеансе !!!) ваши таблицы в промежуточной базе данных для использования механизма черной дыры.