Балансировка нагрузки репликации Master/Slave, если master не работает с Galera

Я немного запутался, я хочу настроить общую репликацию MASTER/SLAVE в базе данных MariaDB. Я предпочитаю MASTER/SLAVE MASTER/MASTER, чтобы не усложнять ситуацию. SLAVE будет использоваться, только если сервер MASTER не работает.

Я установил MariaDB 10.0.x, но когда я начинаю читать о том, как добиться этой репликации, они представляют Galera, которая, если я правильно понимаю, заменяет MariaDB.

Что вы используете, чтобы сказать ВЕДОМОМУ серверу взять ретрансляцию, если ГЛАВНЫЙ сервер не работает? Обрабатывается ли это автоматически через Galera Cluster?

Если возможно, я не хочу, чтобы мое приложение знало о ведомом сервере: я просто хочу настроить его с помощью IP-адреса MASTER MariaDB и, если он недоступен, вместо этого использовать SLAVE. (Но я не хочу указывать этот запасной вариант на уровне приложения)

Спасибо


person sf_tristanb    schedule 01.08.2014    source источник
comment
Вы говорите о двух разных вещах. Репликация Master/Slave используется для распределения нагрузки между несколькими серверами или для репликации данных в локальный офис для более быстрого чтения. Мастер обрабатывает все обновления, а ведомые используются только для чтения. Похоже, вы ищете решение для аварийного переключения, которое плохо справляется с репликацией. Galera — это решение для кластеризации серверов, в котором все узлы являются ведущими и которое лучше обрабатывает сбои. Вы можете использовать репликацию, но отработка отказа должна выполняться путем ручной реконфигурации.   -  person Jaydee    schedule 01.08.2014
comment
Да, кажется, я путаю вещи. Во-первых, Galera не может выполнять репликацию master/slave? И что вы подразумеваете под ручной перенастройкой? Вы имеете в виду, что я должен вручную предпринимать действия, когда мастер недоступен?   -  person sf_tristanb    schedule 01.08.2014
comment
Galera обновляет все узлы (мастера) одновременно, так что да, в каком-то смысле она выполняет репликацию, но не репликацию master-slave. При репликации MariaDB/MySQL все обновления выполняются на одном главном сервере, который затем передает обновления подчиненным устройствам. Если мастер выходит из строя, вам нужно вручную изменить один из ведомых устройств на ведущий, а затем указать на него другим ведомым устройствам. Прочитайте этот severalnines.com/   -  person Jaydee    schedule 01.08.2014


Ответы (1)


То, что вы ищете, может быть достигнуто. Я только что завершил настройку MariaDB 10 с использованием асинхронной репликации (не Galera). Чтобы обеспечить максимальное время безотказной работы, я настроил репликацию master/master и использовал mysql-mmm для мониторинга настройки. Этот инструмент будет управлять виртуальным IP-адресом и направлять его на один из двух мастеров для записи. Это обеспечивает согласованную запись на один мастер, чтобы избежать повреждения данных. Если один мастер выйдет из строя, виртуальный IP-адрес будет сопоставлен с другим мастером. Это обеспечивает аспект высокой доступности. Инструкции, изложенные ниже, были очень ясными и простыми для выполнения.

http://mysql-mmm.org/mmm2:guide

Удачи!

person mohr_michael_a    schedule 17.09.2014