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

Подходит ли MySQL Cluster для небольшой многосетевой системы с небольшим объемом?

Я бы хотел разместить собственное веб-приложение в нескольких домах для относительно небольшой базы пользователей с небольшим размером набора данных. Масштабируемость - это не столько проблема, сколько чрезвычайно высокая доступность. Система имеет чрезвычайно простую архитектуру: PHP работает на одном Linux VPS, подключенном к стандартному серверу MySQL.

Я подумываю использовать несколько VPS в географически разных центрах обработки данных, чтобы, если у пользователя возникли проблемы с подключением к одному местоположению сервера, он мог попробовать другое (у меня есть отдельные идеи о том, как полуавтоматизировать переключение при отказе и, возможно, георировать, но это другое выпуск). Код приложения PHP и другие файлы будут синхронизированы; однако я еще не решил, как синхронизировать базы данных ... разумно ли использовать для этого MySQL Cluster?

Если один узел выходит из строя, остальные должны продолжать работу. Когда узел возвращается в рабочее состояние, он должен автоматически вернуться в синхронизацию. Учитывая, что между центрами обработки данных будет задержка типа WAN, скорость записи не может зависеть от подключения внутри кластера. Согласованность данных желательна, но не является главным приоритетом. Простота системы важна - я не могу позволить себе потратить следующий месяц на выяснение нюансов базы данных.

Если MySQL Cluster не подходит для этого, то какие другие альтернативы следует рассмотреть?

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

http://www.howtoforge.com/mysql_master_master_replication

Если у вас есть существующий набор данных, вы можете использовать mysqldump чтобы экспортировать базу данных перед выполнением этих шагов, чтобы ее можно было вставить на ведомое устройство до завершения настройки. Просто убедитесь, что вы получили master_log_position при экспорте, чтобы вы знали, откуда идти. Я настоятельно рекомендую создать среду разработки для работы, чтобы вы могли узнать, как все это работает.

MySQL Cluster обычно не подходит для веб-приложений.

Это своего рода экзотическое решение, но посмотрите Галера

Я помню, как где-то видел, что они сказали, что репликация WAN возможна.

А также есть Вольфрамовое предприятие.

Galera - это синхронная репликация, а Tungsten - асинхронная.

Ура