Сколько будет мастеров в режиме Master-Master

«Сколько будет мастеров в режиме Master-Master» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В режиме Master-Master (или Master-Master репликации) обычно участвуют два мастера. Каждый мастер может принимать запросы на запись и реплицировать изменения на другой мастер.

Пример настройки в MySQL:

-- На первом сервере (Master 1)
CHANGE MASTER TO MASTER_HOST='master2_ip', MASTER_USER='repl_user', MASTER_PASSWORD='password';

-- На втором сервере (Master 2)
CHANGE MASTER TO MASTER_HOST='master1_ip', MASTER_USER='repl_user', MASTER_PASSWORD='password';

Нюансы:

  • Риск конфликтов при одновременной записи в оба мастера.
  • Требует дополнительного мониторинга и управления.
  • Не все СУБД поддерживают такой режим из коробки (например, в PostgreSQL аналог — это логическая репликация).