2009-11-10 1 views
1

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

Что мне любопытно, так это то, как все здесь развертываются в балансировочном кластере X-серверов. Поскольку публикация кода с теста на prod занимает примерно 10 минут на сервер (несколько сервисов и несколько сайтов), я надеюсь, что у кого-то есть представление о лучшей практике.

Если бы это был неправильный сайт, чтобы спросить (мета определенно не применялся - не было уверенности в том, что serverfault сделал, поскольку я - разработчик, выполняющий развертывание). Я готов повторно спросить в другом месте.

+0

Ваша проблема не в балансировке нагрузки - это с управлением версиями базы данных. – Jimmy

+0

Что вы подразумеваете под управлением версиями базы данных? – RubyHaus

ответ

2

Я использую nant-скрипты и psexec для их выполнения.

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

Обычно приложение имеет в течение приблизительно 20 секунд (5 узлов)

Кроме того, я не пробовал, но я слышал много о MSDeploy.

Надеется, что это помогает

+0

Интересно, я проверю оба из них. Благодаря! – RubyHaus

1

Да, если вы хотите сделать это без каких-либо простоев, вы должны смотреть в HA (High Availability) методы. Ознакомьтесь с книгой Пола Бертуччи - я думаю, что это называется SQL Server High Availability или некоторые из них.

В противном случае поднимите страницу «обслуживания», снимите все серверы приложений, сначала выполните БД и один сервер приложений, а затем перейдите в режим «жить» и выполните две другие операции в автономном режиме.

+0

Я не знаю, будет ли это работать - сервер БД - это Oracle, и у меня нет SQL-эквивалента доступа dbo к нему. Раньше я занимался обслуживанием, но это не помогает в обработке данных. – RubyHaus

+0

О, я думаю, я добавил «как мне это сделать без простоя» на ваш вопрос в моем сознании - извините! Я не думаю, что есть какие-то «лучшие практики» для того, что вы делаете сейчас. Если компания не может позволить себе инвестиции в HA на уровне БД, они обычно отправляют электронные письма раньше времени и размещают страницу «Назад в ближайшее время». Затем они не возвращаются, пока они не только развернутся, но и проведут достаточное тестирование, чтобы быть удовлетворены. Обычно, поздно вечером, по моему опыту. Если вы пытаетесь выяснить, как быстрее получить код от точки a до точки b, возможно, вы можете дать нам более подробную информацию? –

+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^