В настоящее время у меня есть два Linux-сервера под управлением MySQL, один из которых находится на стойке рядом со мной под каналом загрузки 10 Мбит / с (главный сервер), а другой в нескольких милях от него на канале загрузки со скоростью 3 Мбит / с (зеркало).
Я хочу иметь возможность непрерывно реплицировать данные на обоих серверах, но столкнулся с несколькими препятствиями. Одна из них заключается в том, что в конфигурациях MySQL master / slave время от времени выпадают некоторые операторы (!), Что означает; некоторые люди, входящие в систему по URL-адресу зеркала, не видят данных, которые, как я знаю, находятся на главном сервере, и наоборот. Допустим, это происходит с осмысленным блоком данных один раз в месяц, поэтому я могу смириться с этим и предположить, что это проблема «потерянного пакета» (т.е. бог знает, но мы компенсируем).
Другая наиболее важная (и раздражающая) повторяющаяся проблема заключается в том, что когда по какой-то причине мы выполняем крупную загрузку или обновление (или перезагрузку) на одном конце и должны разорвать ссылку, тогда ЗАГРУЗИТЬ ДАННЫЕ ИЗ МАСТЕРА не работает, и мне приходится вручную выгружать с одного конца и загружать с другого, что в настоящее время является довольно сложной задачей, перемещая около 0,5 ТБ ценность данных.
Есть ли софт для этого? Я знаю, что MySQL («корпорация») предлагает это как ОЧЕНЬ дорогую услугу (полная репликация базы данных). Что там делают люди? По своей структуре мы запускаем автоматическое переключение при отказе, когда, если один сервер не работает, основной URL-адрес просто разрешается на другой сервер.