Можете ли вы добиться нулевого простоя развертывания с magento2?

15

Если у вас есть новый модуль и вам нужно запустить его, setup:upgradeя не вижу способа, чтобы вы могли иметь нулевое время простоя. Это всегда будет 10-20 секунд, потому что вам нужно обновить базу данных. Или я что-то упустил?

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

Клаудиу Крянгэ
источник

Ответы:

2

Интересно, в какой среде вы работаете, где 10-20 секунд или даже несколько минут простоя могут стать нарушителем. Естественно, это не идеально, но я должен представить, что это довольно небольшая цена, особенно если вы развертываете в непиковые часы.

Документация для разработчиков M2: Развертывание Magento для производства . На момент написания этой статьи документы были редкими и ссылались на внешнюю проблему GitHub для обсуждения. Тем не менее, эти официальные документы являются хорошим местом для наблюдения.

Моя команда исследует использование Capistrano для развертывания M2. Мы еще не определились с окончательным процессом, но простой поиск в Google («capistrano magento 2») показывает, что многие люди экспериментируют с ним.

Наконец, существуют различные схемы, такие как сине-зеленое развертывание, которые также стремятся минимизировать время простоя. Сине-зеленый, в частности, похож на промежуточный сервер, но в критическое время вы обновляете DNS, чтобы указывать с синего на зеленый, превращая зеленый в живой, а синий в «промежуточный». Для следующего развертывания синий снова становится живым. Таким образом, время простоя теоретически равно нулю, и изменения происходят так же быстро, как и распространение DNS.

nshiff
источник
спасибо за полезные ссылки. DNS никогда не распространяется достаточно быстро, на мой взгляд. Я бы придерживался ссылок на папки. Развертывания в непиковое время рискованны. Непиковое время по существу будет очень рано утром или очень поздно ночью. Если вы небольшая компания, у вас может не хватить персонала для этого.
Клаудиу Крянгэ
1
Я не очень понимаю, как сине-зеленый может работать здесь, не требуя выполнения всех видов синхронизации базы данных, что кажется рискованным. Проблема в том, что установка модуля требует обновления базы данных.
Рич С
@RichS Что касается программного обеспечения, синхронизация не является проблемой. Но да, может быть сложно избежать потери заказов или других данных клиентов - см. Источник, на который я ссылался. Он рекомендует на самом деле использовать тот же дБ. Снова, возвращаясь к предпосылке вопроса, когда 10 минут простоя действительно будут проблемой? Сначала я бы искал нетехническое решение, такое как развертывание в 2 часа ночи, прежде чем вводить ненужную сложность.
nshiff