В какое время мне следует начать производство?

StackOverflow https://stackoverflow.com/questions/89920

  •  01-07-2019
  •  | 
  •  

Вопрос

Мои пользователи используют сайт практически одинаково 24 часа в сутки, 7 дней в неделю.Есть ли мем для определения времени сборки?

Международная аудитория, один кластер серверов по восточному времени, но международные клиенты забивают его до утра.

1 БД, несколько веб-серверов, так что если нет БД, просто в любое время.

Но когда сайт должен отключиться, когда вы, как программист, будете меньше всего рассержены, если увидите, что SO не работает, скажем, 15 минут?

Это было полезно?

Решение

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

Другие советы

Вот что я сделал, и у меня это сработало хорошо:

  1. Получите инструмент анализа трафика сайта, который будет награждать почасовую нагрузку пользователя
  2. Выберите низкую точку в графике для обновлений

Если вы маленький, тогда да, найдите, когда у вас самый низкий период использования, и сделайте это тогда (лично для нас обычно около 1:00-3:00 по тихоокеанскому стандартному времени - это самый низкий спад... но, конечно, он никогда не падает до 0).Как только вы начнете расширять базу пользователей и хотите, чтобы люди воспринимали вас всерьез, вам нужно будет спроектировать свое приложение так, чтобы его можно было обновлять без простоев.Это непросто и часто требует наличия нескольких серверов.

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

Что это за приложение?Большинство сайтов, которые я использую, обычно обновляются около 2 или 3 часов ночи.

Используйте второй сайт и выполняйте горячую замену по мере необходимости.

Проблема с «горячей» заменой заключается в том, что база данных по-прежнему будет использоваться совместно, а внесение изменений также приведет к отключению системы.

Я думаю, вам нужно спросить своих клиентов.

В любом случае, это ранние утренние часы.Если вы говорите о локально доступном веб-сайте, я не думаю, что пользователи будут возражать, если они получат уведомление «на техническом обслуживании» в 2 часа ночи в своем часовом поясе.

Зависит от вашего местоположения:Обычно самое светлое время – 4 утра на восточном побережье и 1 час ночи на западном побережье.

Выберите несколько раз, когда вы хотели бы это сделать, и предложите их на выбор тем, кто принимает решения.Что бы вы ни делали, во время развертывания создайте страницу «Отложено для планового обслуживания».

  • Проверьте время наименьшего использования
  • Клонировать/скопировать/обновить последний производственный код в другой каталог.
  • Если необходимо выполнить миграцию базы данных, выполните все необходимые операции, не конфликтующие со старой базой кода.
  • Во время наименьшего использования переместите символическую ссылку, чтобы она указывала на последний код.

Сначала используйте инструмент анализа, чтобы попытаться определить обычно «легкое» время пробок.В зависимости от сайта и вашего местоположения в мире по сравнению с большинством ваших пользователей, это может быть 4 утра, а может и 13:00, кто знает.Затем, как только вы определите четкие сроки, убедитесь, что процесс развертывания максимально автоматизирован, чтобы он происходил быстро и минимизировал время простоя вашего сайта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top