Многопрофильный основной режим репликации MySQL с несколькими начальными загрузками
У меня есть 7 серверов MySQL в разных местах. Все серверы имеют одинаковую базу данных с одинаковой структурой. Все таблицы структурированы с использованием первичных ключей на основе UUID. (Нет автоматического приращения значений).
1 (Центральный) сервер всегда подключен к сети. (Интернет) Все остальные 6 серверов могут быть подключены / отключены от сети в любое время.
Все 6 серверов должны иметь возможность работать индивидуально (чтение / запись) и локально, когда не подключены к Интернету.
Они должны дублировать друг друга при подключении к сети.
Как только все базы данных полностью реплицированы, все базы данных должны иметь одинаковое содержимое данных. (Включая главный сервер)
Я только что упомянул один сервер в качестве основного сервера здесь. (Но нет никакого основного сервера). Это основной сервер, когда все остальные 6 не подключены, потому что головной офис использует его для запроса с него прошлых отчетов.
Я читал о групповой репликации MySQL (Multi Primary Mode). Можно ли использовать его в моем требовании. Пожалуйста, сообщите мне, если у кого-то уже есть этот опыт.
1 ответ
Репликация группы предполагает, что все серверы будут содержать одни и те же данные, и когда вы присоединитесь к новому серверу, он будет извлекать из группы отсутствующие данные. Однако, если на сервере больше данных, чем в группе, он не сможет присоединиться.
Таким образом, теоретически ваша установка будет работать только в том случае, если эти 6 серверов не получают записи и расходятся, находясь "в автономном режиме", потому что если они это сделают, вы больше не сможете добавлять их обратно в группу (без дополнительных операций согласования).