Можно ли запустить сервер разработки Google App Engine на моем собственном сервере? - PullRequest
9 голосов
/ 04 мая 2011

Можно ли запустить Google App Engine Development Server на моем собственном сервере?Насколько хорошо хранилище данных сервера разработки может справляться с высокой нагрузкой, и какой объем данных может нанести ему вред?

Ответы [ 3 ]

7 голосов
/ 04 мая 2011

Некоторые опции для запуска приложения App Engine без App Engine:

  • TyphoonAE , который запускает приложения Python, используя стек популярных компонентов с открытым исходным кодом
  • appscale , который запускает приложения Python или Java из облака Amazon EC2

Я тоже не пробовал.См. этот вопрос для дополнительного обсуждения обоих.

Насколько хорошо будет работать хранилище данных, если вы просто раскрутите dev_appserver.py на общедоступном IP-адресе?Если у вас много данных, плохо.При использовании сервера dev все хранилище данных хранится в памяти, поэтому при вставке данных использование памяти Python будет расти.После того, как вы добавите достаточно данных, чтобы ваша система начала перезагружаться, ваше приложение станет необычайно медленным.На сервере dev есть возможность использовать заглушку хранилища данных SQLite вместо заглушки в памяти.Это делает производительность приемлемой для больших объемов данных, но она не так эффективна, как производственное хранилище данных, поэтому доступ к хранилищу данных относительно медленный даже при небольших объемах данных.Конечно, намного медленнее, чем хранилище данных в памяти с небольшими объемами данных.

Запуск dev-сервера в качестве автономного производственного сервера - это, как правило, плохая идея.Заглушки API, предоставляемые сервером разработки, предназначены для использования разработчиками, а не пользователями.Например, отправка почты просто записывает запись в журнал вместо фактической отправки почты;вход в систему с правами администратора требует установки флажка «войти как администратор».

Если вы хотите удалить существующее приложение из App Engine, воспользуйтесь одним из приведенных выше вариантов.Если вы разрабатываете приложение с нуля, используйте Django или какой-либо другой фреймворк, предназначенный для работы на обычном оборудовании.Сервер разработки предназначен именно для этого: разработка.

5 голосов
/ 04 мая 2011

ДА , с большим количеством отсутствующих функций (параллельные очереди, задания cron, почта, XMPP, ..), некоторыми скрытыми проблемами безопасности, низкой производительностью и стабильностью, это технически возможно.

Как вы, наверное, догадались, это плохая идея .

Возьмем, к примеру, HTTP-сервер;используя сервер разработки, вы поместите в Production недокументированную BaseHTTPServer, которую невозможно настроить, и, возможно, с некоторыми скрытыми недостатками безопасности, готовыми к использованию.

Как хорошо сказал @Drew, есть лучшие варианты длязапустить код Google App Engine в среде, готовой к работе, но не в GAE.

2 голосов
/ 30 августа 2013

Хотя это 2 года + старая тема, просто добавив мою информацию: http://www.jboss.org/capedwarf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...