В настоящее время мы говорим о развертывании веб-сайта через rsync. Однако во время rsync приложение остается в несогласованном состоянии, так как некоторые файлы могут быть уже синхронизированы, а другие все еще остаются со старой версией, верно? Как люди решают эту проблему? Я предполагаю, что та же проблема существует при развертывании через svn/git/cvs. Должен ли я просто закрыть сайт, выполнить rsync и снова открыть? Или люди просто игнорируют эту проблему несоответствия?
Развернуть с помощью rsync (или svn, git, cvs) и игнорировать несогласованное состояние во время развертывания?
comment
Не связанный с программированием - принадлежит superuser.com?
- person Paul R   schedule 02.04.2010
Ответы (1)
Используйте двухэтапное развертывание. rsync в тестовый каталог, в идеале протестируйте его, а затем поменяйте местами рабочее и тестовое развертывания. В первый раз, когда вы делаете это, у вас может не быть готового тестового каталога, но вы можете исправить это, просто выполнив rsync из рабочей среды в тестовую.
person
Marcelo Cantos
schedule
02.04.2010
Как бы вы реализовали такой обмен вокруг? В идеале это не должно требовать перезагрузки веб-сервера. Единственный способ, который я могу себе представить, - это символическая ссылка на корень документа в текущей производственной среде. Тогда переключатель должен был бы переместить символическую ссылку. Возможно ли это без предварительного удаления ссылки?
- person zedoo; 03.04.2010
Скорее всего, это не очень хорошо сработает, если вообще сработает. Лучший способ поменять местами два веб-сервера — использовать балансировку нагрузки. Позвольте обоим серверам работать одновременно, выведите старый из цикла и выключите его, когда он станет бездействующим (завершит доставку своего последнего ответа). Конечно, этот метод имеет важные последствия для того, как вы выполняете обновления. Например, обновления вашей базы данных должны происходить заранее, пока старая система находится в сети, и должны быть безопасными с точки зрения старой системы.
- person Marcelo Cantos; 03.04.2010
Хорошо, я подумаю, стоит ли это усилий по реализации. Вы не можете порекомендовать книгу по теме, не так ли?
- person zedoo; 05.04.2010
Масштабируемая архитектура Интернета — хороший справочник по такого рода вещам. Я не знаю, обсуждает ли это конкретно вышеизложенное, поскольку у меня нет своей копии под рукой, но, тем не менее, это хорошая книга. Я также видел онлайн-блоги об этой технике (по сути, это то, как такие компании, как eBay, управляют обновлениями), но я не могу найти их прямо сейчас.
- person Marcelo Cantos; 05.04.2010