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