Назад | Перейти на главную страницу

Как лучше всего настроить риг мастер-мастер?

Потому что все говорят, что мастер-мастер не рекомендуется.

Но если задуматься ... одного сервера записи вряд ли хватит!

Итак, как бы вы настроили его (высокоуровневый, а не учебный), чтобы он работал хорошо?

Когда я думаю об этом, я понимаю, что одного сервера с возможностью записи достаточно. HA заботится о доступности, а сегментирование - о емкости.

Учитывая, что на некоторых из крупнейших сайтов в мире используются отдельные главные экземпляры, ваша предпосылка ошибочна. Способ решить вашу проблему - вставить слой кеширования (memcached для непостоянных данных и что-то вроде CouchDB для постоянных данных) и избегать использования базы данных как чумы. Внедрите асинхронные процессы для вставки данных в базу данных и поймите, что пользователям редко нужно видеть актуальные данные ... несколько секунд или минут обычно нормально. Шардинг и установка с несколькими мастерами - это просто панацея от архитектурных изменений, которые действительно ускорят вашу систему.

Я думаю, вы обнаружите, что большинство ваших проблем можно решить другими способами: например,

SELECTS в очереди после ОБНОВЛЕНИЙ, которые требуют времени:

  • Перейти на InnoDB

Слишком много вариантов выбора для 1 машины:

  • Перейти к мастеру -> настройка многих подчиненных. Его гораздо проще поддерживать, вам просто нужно изменить свое приложение, чтобы записывать в одну БД и выбирать из другой.

Даже если у вас есть какое-то абсурдное приложение, которое должно выполнять триллионы операций записи, вам, вероятно, было бы лучше просто иметь несколько неподключенных серверов, доступных через какой-то циклический интерфейс, и просто объединять данные позже в более контролируемая среда ... Практически невозможно быть уверенным в репликации, когда тебя так бьют.

В конце концов, большинство приложений баз данных не выполняют много операций записи по сравнению с чтением.