MySQL master-slave репликация на офшорных VPS
Single MySQL сервер - точка отказа. Падение диска или сети = простой приложения. MySQL replication позволяет дублировать данные на slave серверы для high availability, distributing read load, и hot backup. Поддерживаем classic statement-based, row-based, semi-synchronous, group replication. Узлы на NVMe VPS в офшоре с оплатой криптой.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Архитектура MySQL репликации
MySQL replication работает через binary log (binlog). Master пишет все DML изменения в binlog, slave скачивает binlog через replication thread, и применяет события на свою копию данных. Asynchronous replication - default режим, master не ждёт подтверждения от slaves. Быстро, но возможна потеря данных при падении master до того как binlog скачался. Semi-synchronous - master ждёт подтверждения хотя бы от одного slave что binlog получен (не применён). Меньше throughput, но строже consistency. Synchronous - доступен через Galera Cluster или MySQL Group Replication, master ждёт подтверждения коммита от всех slaves. GTID (Global Transaction ID) - современный режим где каждая транзакция имеет глобальный ID, упрощает failover и migration. Рекомендуется для новых deployments. Мы по умолчанию включаем GTID и row-based binlog format.
Use cases репликации
Репликация решает разные задачи. High availability - 1 master + 2 slaves. При падении master повышаем один slave до нового master через MHA или Orchestrator. Downtime 30-120 секунд. Read scaling - тяжёлые SELECT (отчёты, аналитика, поиск) идут на slaves, OLTP write workload остаётся на master. Throughput чтений масштабируется линейно с числом slaves. Geographic distribution - master в одном дата-центре, slaves в других для близости к пользователям. Чтения локальные, записи через WAN на master. Hot backup - один slave используется исключительно для бэкапа. На нём делаем mysqldump или Percona XtraBackup без влияния на production master. Disaster recovery - delayed slave с задержкой в 1 час позволяет откатить случайный DROP TABLE без full restore из backup. Migration - новый сервер сначала становится slave старого, потом switching production trafic.
Failover и автоматизация
Manual failover MySQL: остановить трафик на master, дождаться апликации последних транзакций на slave, проверить slave status, остановить replication threads, изменить read_only=OFF на slave, обновить connection string в приложении. Это 5-15 минут и риск человеческой ошибки. Orchestrator - open-source tool для автоматизации MySQL topology management. Обнаруживает падение master через heartbeat, выбирает best slave (минимальный lag), проводит failover за 10-30 секунд. MHA (Master High Availability) - старый но проверенный tool. Похожий функционал. ProxySQL или HAProxy - load balancer перед MySQL который автоматически переключает connections при failover. Group Replication - встроенный в MySQL 8.0 механизм с automatic conflict detection и leader election через Paxos. Сложнее в настройке но не требует внешних tools. Мы рекомендуем Orchestrator для классической master-slave топологии и Group Replication для multi-master.
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.