Является ли Google App Engine достойной платформой для приложения Lifestreaming?[закрыто]

StackOverflow https://stackoverflow.com/questions/135169

Вопрос

Я создаю приложение Lifestreaming, которое будет включать в себя сбор множества каналов для множества пользователей, а также выполнение анализа данных и алгоритмов машинного обучения на основе результатов.Хостинг GAE с балансировкой нагрузки и масштабируемостью выглядит хорошо подходящим для системы, которая в конечном итоге может перемещать МНОГО данных, но отсутствие заданий cron является неприятностью.Будет ли мне лучше использовать Django в совместной работе и заниматься собственным масштабированием БД?

Это было полезно?

Решение

Хотя я не могу ответить на ваш вопрос прямо, мой опыт построения Микрообновление (агрегатор новостей, собирающий несколько сотен каналов на AppEngine) может дать вам небольшое представление.

  • Получение каналов.Получение большого количества каналов с помощью заданий cron (это было единственное решение до SDK 1.2.5) неэффективно и масштабируемо, что имеет нижний предел частоты выполнения заданий (скажем, 1 минута, поэтому вы можете получать не более 60 каналов в час).А в последней версии SDK 1.2.5 есть XMPP API, который я еще не реализовал.Наилучшим многообещающим подходом было бы ПабSubHubbub, для которого вы предлагаете URL-адрес обратного вызова, и HubBub уведомит вас о новых записях в в реальном времени.И есть демонстрационная реализация на AppEngine, с которым вы можете поиграться.

  • Парсинг фидов.Возможно, вы уже знаете, что анализ каналов требует большого количества ресурсов процессора.я использую Универсальный парсер каналов Автор: Марк Пилигрим, при анализе большого потока (скажем, общедоступной темы Google Reader) AppEngine может не обработать все записи.На моей приборной панели много таких предупреждений об ограничении процессора.Но это может привести к тому, что я пока не смогу оптимизировать код.

В целом AppEngine пока не является идеальной платформой для приложений Lifestream, но в будущем ситуация может измениться.

Другие советы

Ситуация может измениться, когда они предложат платные планы, но в нынешнем виде App Engine не подходит для приложений, интенсивно использующих процессор.Он предназначен для масштабирования для обработки большого количества запросов, а не обязательно большого объема вычислений на запрос.Я столкнулся с этой проблемой при довольно незначительных вычислениях и боюсь, что мне, возможно, придется начать поиск в другом месте по мере роста моего набора данных.

(Очевидно, это довольно старое решение, отвечающее только потому, что оно все еще очень часто встречается в связанных запросах Google...)

Я только начал использовать AppEngine и еще не использовал его для множества внешних запросов.Но я знаю, что информация, приведенная выше, сейчас, вероятно, гораздо менее актуальна и, возможно, даже не актуальна.Они немного смягчили ограничения с 8 сентября - проверьте блог Арала Балкана за его первоначальную жалобу по поводу вышеизложенного и последующих событий.

Если ваше приложение основано исключительно на Django, то App Engine — хороший выбор.Однако, если вам когда-нибудь понадобится добавить библиотеки с расширенными возможностями C, вы в затруднительном положении.App Engine не поддерживает такие вещи, как PIL или ReportLab, которые используют C для ускорения обработки.Я упоминаю об этом только потому, что вы, возможно, захотите использовать C для ускорения некоторых ваших процедур в долгосрочной перспективе.

Если вы решите использовать совместное размещение, посетите WebFaction.com.У них отличная поддержка Django/Python, и у них нет проблем с использованием вышеупомянутых библиотек.

Взгляни на Срез хоста:Они продают экземпляры виртуализированных серверов на базе Xen по цене от 20 долларов в месяц...

Мы такие же, как вы.Удовлетворенный переими, неэффективными, древних хостинговых компаний.Мы взяли дело в свои руки.Мы построили хостинговую компанию для людей, которые знают их вещи.Дайте нам коробку, дайте нам пропускную способность, дайте нам производительность, и мы приступаем к работе.Быстрые машины, приводы RAID-10, пропускная способность полосы 1 и добычи корня.Управляется с индивидуальной бэкэнд Xen VPS, чтобы гарантировать, что ваши ресурсы будут защищены и гарантированы.

Он отлично подходит для запуска проекта и его масштабирования БЕЗ затрат на управляемого провайдера или коллегу.

Нет.Если вам нужно убрать множество вещей, App Engine не будет работать так хорошо.Вы можете использовать его в качестве внешнего интерфейса, поместив свои данные в их хранилище после выполнения автономной предварительной обработки, но вы не сможете много сделать за ~ 1 секунду, которая у вас есть на запрос, не выполняя некоторых действий. Действительно сумасшедшие вещи.

Вероятно, вашему приложению будет лучше на вашем собственном хостинге.

Извлечение каналов или выполнение расчетов не будет проблемой.Но вскоре вам придется заплатить за свой аккаунт.Движок приложения включает в себя Django, за исключением того, что вам придется работать с некоторыми адаптерами для части модели.Это наверняка избавит вас от головной боли по обслуживанию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top