Назад | Перейти на главную страницу

Стандарт GAE: в каких случаях мне действительно нужно, чтобы один экземпляр работал постоянно, а не запускался только при активности пользователя?

Я хочу создать веб-сайт в GAE, используя стандартную среду Node.js. Веб-сайт будет двусторонним рынком (похожим на Fiverr, Uber, Airbnb и т. Д.), Где я буду выполнять внутреннюю логику и обновления CRUD с базой данных Cloud Firestore. Я также хочу использовать Firebase Authentication, Cloud Storage, Cloud Functions и Cloud Messaging.

Учитывая мой пример использования выше, могу ли я просто использовать класс экземпляра F1 с параметром auto_scaling, который создает только экземпляр с фактической активностью пользователя на моем веб-сайте (при условии низкой активности пользователя)? Если нет, то почему?

Какие ограничения я должен помнить, которые могут вызвать у меня проблемы сразу или в ближайшем будущем? Приблизительно какая активность пользователя сделает это непрактичным? Зачем?

Использование экземпляра F1 для этого варианта использования совершенно нормально.

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

О том, какова активность пользователя: это немного субъективно, так как зависит от кода приложения; но также, если у вас включен auto_scaling, он позаботится о ситуации и горизонтально масштабирует ваше приложение.

Как и на любом веб-сайте, выполняйте нагрузочные тесты на ожидаемый объем трафика и отслеживайте свое приложение и журналы, чтобы проверить любые проблемы. Даже если трафик низкий - проверьте это. Проверьте время холодного пуска. Если приложение слишком долго запускается в холодном режиме при низком трафике - посмотрите варианты. Это может включать оптимизацию приложения для более быстрого запуска, постоянное включение одного экземпляра или поддержание экземпляра в горячем состоянии, настроив cron для обращения к URL-адресу прогрева.