Ответ
Да, работал с мультимастер-репликацией в MariaDB, в основном используя Galera Cluster для синхронной репликации между несколькими мастер-нодами. Основные задачи включали:
- Развертывание кластера из 3+ нод для обеспечения отказоустойчивости.
- Настройка синхронной репликации через
wsrep_provider, где транзакция фиксируется только после применения на всех узлах. - Конфигурация параметров для минимизации конфликтов при параллельной записи и управления потоком репликации.
Пример базовой конфигурации для ноды в /etc/mysql/mariadb.conf.d/galera.cnf:
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://node1_ip,node2_ip,node3_ip"
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
Ключевые моменты из практики:
- Для стабильной работы кворума действительно требуется минимум три ноды.
- Сетевые задержки напрямую влияют на общую производительность записи.
- Некоторые операции, такие как
LOCK TABLESи определенные DDL-запросы, требуют особой осторожности или не поддерживаются.