Топология репликации MySQL с несколькими мастерами

Отказ от ответственности: я никогда раньше не работал с репликацией, но я провожу все свои исследования. На самом деле отсутствие глубоких знаний о MySQL делает большую часть документации трудной для понимания.

У нас есть удаленный сервер и много «локальных» серверов. Это приложение является критически важным, и из-за ненадежного подключения к Интернету на локальных компьютерах есть полностью функциональные экземпляры приложения. Локальные машины находятся за различными брандмауэрами и, как правило, не могут получить доступ друг к другу. Мы можем настроить туннели SSH, чтобы облачная БД могла взаимодействовать с локальными БД.

Вот простая схема:

введите здесь описание изображения

Асинхронная репликация с несколькими мастерами кажется нам лучшим выбором, но большая часть документации, по-видимому, подразумевает, что репликация с несколькими источниками работает только для ведомых устройств и/или репликация с несколькими мастерами работает только циклически, а один мастер (в данном случае облачный сервер) не может реплицироваться напрямую на несколько других мастеров.

Я неправильно интерпретирую это (просто не могу найти документацию о том, как это сделать), или это так? Если это так, есть ли сторонние пакеты, такие как Tungsten или Galera, которые мы можем использовать?


person crypticsymbols    schedule 28.07.2015    source источник
comment
Привет, я думаю, что ваш вопрос будет лучше на dba или serverfault поскольку stackoverflow больше ориентирован на вопросы кода.   -  person bufh    schedule 29.07.2015
comment
Хороший звонок. Я провожу большую часть своего времени на SO и забываю, что существуют другие. Спасибо!   -  person crypticsymbols    schedule 29.07.2015


Ответы (1)


После долгих исследований я нашел ответы. Это то, что называется топологией звезды с несколькими мастерами, и для этого требуется, чтобы на узловом (центральном) сервере было несколько (> 1) мастеров. MySQL 5.7 НЕ поддерживает это, однако MySQL 5.7 (в настоящее время находится в разработке) представил концепцию каналов. Когда вы устанавливаете CHANGE MASTER, вы можете указать, для какого канала, что позволяет вам иметь несколько мастеров.

Мы не хотели использовать версию MySQL для разработчиков, поэтому в итоге мы использовали MariaDB, которая в настоящее время поддерживает это в своем общем выпуске (> 10), хотя и с немного другим синтаксисом. Это прекрасно работает.

person crypticsymbols    schedule 30.07.2015