Я хочу знать, есть ли какие-либо возможные простои в методе «тихого» развертывания GAE. Я использую
inbound_services:
- warmup
и развертываю приложения с флагами -no-promotion --no-stop-previous-version
перед переходом на App Engine и переносом трафика со старой на новую версию.
Есть ли там все еще есть вероятность того, что клиент заметит, что происходит развертывание?
Да, еще есть место для развертывания, которое повлияет на качество обслуживания клиентов - вам следует переносить трафик на новую версию постепенно, а не сразу.
Из этот раздел в Проектирование для масштабирования :
Использовать разделение трафика при переключении на новую версию по умолчанию
Приложение с высоким трафиком может получать ошибки или увеличивать задержку, когда обновление до новой версии в следующих сценариях:
- Полное обновление новой версии по умолчанию
- Установить версию по умолчанию
После завершения обновления App Engine отправит запросы на новую версию версия. Однако новой версии может потребоваться некоторое время, чтобы развернуться. экземпляры для обработки всего трафика. В течение этого периода запросы могут потенциально находится в очереди ожидания и может истечь время ожидания.
Поэтому, чтобы минимизировать задержку и ошибки, мы рекомендуем клиенты используют разделение трафика для постепенного перемещения трафика в новую версию, прежде чем сделать ее по умолчанию.
Приложение может обслуживать запросы от обеих версий, пока вы перевод трафика на новую версию. В большинстве случаев это не вызовет любые проблемы. Однако, если у вас есть несовместимость в кешированном объекты, используемые приложением, тогда вам нужно будет убедиться, что пользователи перейти к той же версии приложения во время сеанса. Вы нужно будет закодировать это в логике вашего приложения.