Спасение приложения от отказа сервера - PullRequest
2 голосов
/ 22 апреля 2011

У меня есть приложение rails, которое теперь размещено на выделенном сервере. Сегодня что-то произошло: приложение не отвечает, и у меня нет доступа по ssh, перезапуск не помогает, и я жду ответа техподдержки. Но это не вопрос, мне просто нужно, чтобы это приложение было онлайн, даже если сервер выходит из строя. Какой самый простой вариант? Могу ли я создать второй сервер на другом хостинге и обслуживать его в случае сбоя, если да, то как синхронизировать БД и файлы? Приложение не сильно загружено, мне просто нужно, чтобы оно было доступно.

1 Ответ

1 голос
/ 22 апреля 2011

Сложная задача для решения. Нет ни одного проверенного способа сделать это, но в целом вам нужно «Нет единой точки отказа»

Есть целая наука, посвященная надежности в веб-приложениях - вы никак не можете получить ответ на вопрос SO.

Вы можете делать частые резервные копии своей базы данных, хранить их на S3 (и / или где-нибудь еще). Вы можете тогда

  1. есть образ вашего сервера приложений на вашем хосте
  2. раскрутить его, когда ваш сервер умрет
  3. восстановить базу данных
  4. Пусть новый сервер приложений возьмет на себя ответственность (проще всего: предположим, что IP-адрес старого сервера)
...