MySQL репликации мастер-мастер-мастер
В настоящее время MySQL настроен для поддержки восстановления после отказа: Site1 <----> Site2. Пока они настроены как мастер / мастер. Только один сайт активно записывается серверами приложений в данный момент времени. Мы хотим настроить новый отказоустойчивый сайт. Тогда у нас будет Site1<--->Site2<--->Site3. Трехсторонняя репликация. Опять же, только один из сайтов будет активно писать в БД. Два других были бы просто резервными. В настоящее время Site1 и Site2 работают немного старше 5.5.29, но мы хотели бы использовать 5.6.20 на новом Site3. В конце концов мы обновимся до 5.6.20 на других, но сейчас нам нужно все так запустить.
Это возможно? Любые предложения или ошибки, чтобы высматривать?
заранее спасибо
1 ответ
Допустим, у вас есть серверы "1" и "2" с репликацией "мастер-мастер" и вы готовы добавить сервер "3". Тогда вы можете сделать круг репликации: настройте свой новый сервер "3" для репликации из "1" (так что "2" и "3" реплицируются из "1"). Затем укажите "2", чтобы повторить с "3" вместо "1".
PS: Также для достижения HA без манипуляций с DNS-записями я бы предложил использовать keepalived (если это возможно в вашей среде), что обеспечит такую же отказоустойчивость и прозрачность для клиентов (они увидят один виртуальный IP-адрес).