2015-05-09 3 views
3

Я прочитал, что Google App Engine (GAE) отключит ваше приложение, если он простаивает, и запускает/загружает все снова, когда он получает запрос. И я знаю, что запуск Spring медленный, например, 2-3 секунды даже для небольшого веб-приложения. Работает ли на GAE с использованием Spring, действительно страдает от этого плохо?Google App engine + Spring = медленный запуск?

Заранее спасибо.

+0

зависит от ваших требований к времени отклика. В App Engine есть способы иметь экземпляры «постоянного» экземпляра и «разминки». Это минимизирует время отклика. –

+0

У меня есть несколько приложений Spring на GAE, больших и малых. Для большого приложения, с сотнями бобов, я использую экземпляры F2. Другие запускаются достаточно быстро по умолчанию F1 –

+0

Я рекомендую эту [беседу Google I/O от Matt Stephenson] (https://www.youtube.com/watch?v=lFarE1hH0ss). В нем обсуждается, как App Engine отличается от старомодных серверных сред, что это влечет за собой и какие шаблоны вам следует знать. –

ответ

4

Это действительно не так уж плохо, но учитывая, что ваши экземпляры закрываются и запускаются постоянно, вы должны работать над тем, чтобы ваш стартап был как можно быстрее. Несколько указателей, чтобы рассмотреть следующие вопросы:

  1. Включить warmup requests
  2. Включить resident instances
  3. Оптимизировать Spring конфиг (Есть большие предложения в this article)
+0

Спасибо, что указали эти ресурсы! –

+0

Ум, еще один вопрос, допустим, я хочу, чтобы Java-приложение мгновенно запускалось в GAE, какую среду Java вы рекомендуете? Полностью совместимая из коробки будет лучше. Я читал, что Play и Grails нужно много обходного пути для совместимости с GAE ... –

+0

Ну, очень мало того, что будет работать на GAE из-за ограничений файловой системы и потоковой передачи. Если вы планируете использовать сложные фреймворки, такие как Play или grails, я предлагаю вам настроить приложение с помощью управляемой виртуальной машины, чтобы пропустить эти ограничения. – jirungaray

Смежные вопросы