У нас есть приложение с некоторыми специфическими характеристиками, которые мешают нам выполнять репликацию MySQL master-slave. Это как-то связано со случайными числами, генерируемыми для каждого сеанса и хранимых процедур.
Мы планируем исправить приложение в следующем году, но тем временем нам нужно сделать наши машины MySQL «высокодоступными», так что какие варианты у нас есть? Будет ли работать простой кластер RH? Запускаем MySQL mysql-server-5.0.45-7.el5.x86_64.
Спасибо за любой совет.
Я не могу придумать ни одного сценария, в котором вы не могли бы настроить репликацию для создания того же набора данных, что и на главном сервере, с правильной архитектурой. Короче, наверное, вариант.
Вы можете настроить два сервера с DRBD репликация данных на бэкэнд. Для отработки отказа используйте Linux-HA. (сердцебиение / кардиостимулятор) Это будет активная / пассивная конфигурация, которая не будет переключаться так же быстро, как двойной мастер без общего хранилища, но целостность данных гарантирована лучше.
MySQL написал технический документ об этом типе архитектуры, который называется Архитектуры высокой доступности MySQL и DRBD.
В Двигатель NDB, который используется Кластер MySQL также может обеспечить архитектуру высокой доступности. Однако у двигателя есть специфические ограничения, которые необходимо учитывать перед использованием. Он не идеален для нагрузки на основе транзакций, такой как та, которая обычно используется с веб-приложениями.
Общее мнение профессиональных консультантов по MySQL, с которыми я встречался, звучит так: «Если вы думаете, что вам нужен NDB, скорее всего, вам не нужен».
+1 для DRBD и Heartbeat - он неплохо справляется со своей задачей и не раз спасал меня в продакшене. Вопрос в том, будет ли ваше приложение поддерживать переключение на другой сервер базы данных, или вам нужно настроить какой-то общий IP-адрес типа CARP между хостами db?
Не выходить за мои рамки, но рассматривали ли вы решение NoSQL, такое как CouchDB, для переписывания вашего приложения? Репликация на CouchDB работает как чемпион, а настройка Master-Master (даже N-Master) часто занимает всего несколько минут. Пища для размышлений.