Мастер-Мастер Репликация [Перкона] - PullRequest
0 голосов
/ 25 апреля 2018

Пожалуйста, прости мое невежество, но у меня нет опыта работы с MySQL. Я веб-разработчик, но в целом я только что установил MySQL или развернул экземпляр RDS, подключился к нему, и все просто работает. Однако в настоящее время мне поручено создать полную резервную копию нашего основного сервера (по существу, высокая доступность с балансировщиком нагрузки и т. Д.). Поэтому я подумал, что сейчас самое время изменить способ настройки MySQL, чтобы использовать два сервера. В настоящее время наш MySQL живет на наших основных серверах, и это, вероятно, пока не изменится, однако моя цель с этой новой установкой состоит в том, чтобы иметь 2 одинаковых сервера, оба из которых работают с приложением, и оба имеют одинаковую структуру данных / данных MySQL. Я хочу иметь возможность по существу открыть веб-приложение на одном сервере, внести изменения, увидеть его на другом или наоборот.

Из моих исследований выглядит так, как я хочу, называется «Мастер-Мастер Репликация», однако кажется, что это более старый / более устаревший подход? Каждая статья, которую я читаю, относится к ~ 2010-2012 гг., И большинство людей говорят, что она устарела, и я должен использовать Percona XtraDB Cluster, MySQL Group Replication или Galera Cluster и т. Д. Я в принципе не знаю, что это значит, и я ищу Самый простой способ заставить настройку типа Мастер-Мастер работать. Вдобавок ко всему, даже если бы я хотел использовать обычную репликацию Master-Master, кажется, что это что-то специфическое для MySQL, а не для Percona, что я и использую на самом деле.

Я знаю много о разработчиках и могу получить все, кроме MySQL, в кратчайшие сроки, но мне бы хотелось немного узнать о том, как это сделать. В настоящее время на серверах установлены Centos 7, Percona 5.7, Apache 2.4.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Давайте сначала проясним одну вещь.Percona - это MySQL.Если функция доступна в Oracle MySQL (версия сообщества, о которой я здесь говорю), то она также доступна в Percona.Подумайте о двух как о пироге: MySQL - это базовый «пирог», а Percona - это глазурь / брызги / и т.д., которые идут сверху.

При этом можно сказать, что вы абсолютно можете использовать Master / Master, используя Percona MySQL.Стандартная / лучшая практика - настроить это в активный / горячий резерв.Это означает, что нельзя писать в оба узла одновременно.Ваше приложение или ваше промежуточное ПО / прокси-сервер должны изолировать записи только на один узел.Это избавит вас от безумных головных болей, когда / если репликация оборвется.

ProxySQL - это , а не продукт Percona, но мы поддерживаем его на 100%.Вы можете разместить ProxySQL перед вашим M / M и настроить правильные правила запросов для маршрутизации только на один MySQL.

Вы правы, что самое современное решение, и, на мой взгляд, более простое решение, этонастроить трехузловой кластер Percona XtraDB (PXC).Опять же, Galera MySQL - это «пирог», а PXC - все дополнительные возможности.Групповая репликация - это пирог (просто для продолжения аналогии).

Мы считаем, что PXC с 3 узлами на стороне ProxySQL является одним из лучших решений высокой доступности для MySQL.По-прежнему рекомендуется записывать только на один узел, а другие 2 использовать только для запросов только для чтения.Если основной узел выходит из строя, у каждого из двух других есть копия данных до транзакции.Опять же, ProxySQL помогает направлять трафик, если основной не работает.

Резервные копии могут быть взяты с любого узла PXC, используя Percona XtraBackup неблокирующим / горячим способом.

0 голосов
/ 05 июня 2018

Самый простой способ начать - настроить кластер Percona xtradb с proxysql.

Кластер Percona xtradb решает все проблемы, которые присутствуют в базовой MySQL Master-Master Replication.
И Galera, и Percona XtradbCLuster одинаковы, так как они используют один и тот же плагин galera, только Percona настроил его и добавил некоторые дополнительные функции, такие как встроенный proxysql (тип балансировщика нагрузки для базы данных).

...