Должен ли я постоянно выполнять резервное копирование данных веб-приложения на другой хост? - PullRequest
1 голос
/ 13 марта 2010

У меня есть веб-приложение в разработке. Мне нужно спланировать, что произойдет, если хост выйдет из строя. Я потеряю статус самого последнего сеанса (с которым я могу жить), а все остальное должно постоянно храниться в базе данных.

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

Что нормально / разумно?

Очевидно, что хороший хост будет иметь RAID и другую избыточность, поэтому вероятность полной потери должна быть низкой, и если они имеют периодическое резервное копирование, я должен потерять только самые последние вещи, но это, вероятно, вероятно, будет разработано с почти статическим веб содержание, и мой сайт работает с новыми данными, которые постоянно поступают (с ожиданием клиента, что я никогда его не потерю).

Любые предложения / советы?

Существуют ли готовые рамки для этого? (Я в основном работаю на Java.) Должен ли я просто планировать сохранение данных или иметь готовую к запуску альтернативную используемую реализацию хоста на случай, если хост не вернется в подходящее время?

1 Ответ

1 голос
/ 13 марта 2010

Вам нужна стратегия репликации, которая, конечно, зависит от вашей базы данных. Обычно это делается по конфигурации. http://en.wikipedia.org/wiki/Replication_%28computer_science%29

У меня есть опыт работы с Informix: вы можете настроить репликацию данных, чтобы иметь резервную систему или сделать полное резервное копирование данных, и воспроизвести логические журналы (которые содержат в основном все операторы SQL), которым требуется больше времени для восстановления после авария.

Наличие избыточного хранилища также является хорошей идеей в случае сбоя диска. Возможно, эту тему лучше обсудить на serverfault.com

...