Одна база на два сервера. Какие есть варианты реализации?

Задача следующая:
есть сервер 1 и сервер 2, если сервер 1 по какой-то причине не смог обработать запрос, то он (запрос) отправляется на сервер 2. Нужно что бы оба сервера использовали одну базу данных. Каким образом это сделать наиболие грамотно? Вариант взять третий сервер, поставить на него mysql и дать удаленное подключение к двум серверам мне кажется не очень правильным.
  • Вопрос задан
  • 2301 просмотр
Решения вопроса 1
KorroLion
@KorroLion
На сервере 1 и сервере 2 поднять Базы. Настроить между ними репликацию master-master.
Скрипты на сервере 1 и 2 пусть запрашивают базу по localhost, чтобы не делать внешний запрос ко второму серверу.
Вариант взять третий сервер, поставить на него mysql

Если 2 сервера используются для повышения отказоустойчивости, то использование 3-его зависимого сервера лишь уменьшит ее.
Допустим, лег сервер 3, тогда вообще ни сервер 1, ни сервер 2 смысла иметь не будут.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
woonem
@woonem
сделайте на обоих серверах базу данных с постоянным обновлением, то есть в одну базу данных идет информация, а потом в другую копируется недостающая часть из первой. И решение, и от поломок защититесь - если один сервер сломался, на втором есть полная копия БД. Откройте на обоих серверах внешний доступ к БД и пусть обмениваются по локальной сети данными.
Ответ написан
Комментировать
делаю похожую задачу. в проекте данные + файлы с одного сервера(мастер) переносятся на несколько других. Изменение данных только на мастере. Реализовано все с помощью php. Сделано в виде эксперимента, но пока прекрасно работает. При реплике подчиненный сервер получает у мастера логи, а у нас с этим трудно. Ввиду расположения мастера в закрытой части инета, полностью закрыт снаружи. сам мастер может отправлять https запросы, ими же и передает данные. Дополнительно применяется симметричное шифрование. Так что если задача не стандартная - ищите или разрабатывайте не стандартные решения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы