2010-07-09 2 views
0

Вот это требование на очень высоком уровне.Является ли GAE жизнеспособной платформой для моего приложения? (если нет, что было бы лучшим вариантом?)

  • Мы будем распространять настольные агент (или браузер плагин), чтобы собрать определенную информацию из тонны пользователей (в тысячах или, возможно, миллионах вниз по дороге).

  • Эти агенты собирают данные и периодически загружают их на серверное приложение.

  • Приложения сервера позволит для анализа собранных данных (фильтр, сортировка и т.д. основана на 4-5 атрибутов) и суммировать в виде графиков и т.д.

  • Мы также должны быть в состоянии экспортировать некоторые из собранных данные (csv или pdf)

Мы ищем платформу для размещения серверного приложения. GAE кажется привлекательным из-за низкой административной стоимости и масштабируемости (по мере увеличения базы пользователей платформа будет обрабатывать масштаб ... надеюсь!).

Является ли GAE жизнеспособным вариантом для нас?

Важным соображением является то, что иногда объем загрузок от агентов может превышать 50 МБ за цикл загрузки. У нас будут пользователи в местах, где интернет-соединения могут быть очень медленными. По-видимому, GAE имеет ограничение на продолжительность запроса. Объем загрузки может привести к тому, что запрос (передача данных от агента на сервер) длится дольше 30 секунд. Как можно справиться с такой ситуацией?

Спасибо!

ответ

0

Время загрузки не считается частью времени выполнения скрипта, поэтому не стоит беспокоиться об этом.

Google App Engine очень хорош, чтобы выполнять огромное количество небольших заданий, но не столько выполнять сложные длительные фоновые задания (из-за ограничения на 30 секунд + даже меньшего времени подключения к базе данных). Поэтому, вероятно, GAE будет очень хорошей платформой для GATHER данных, но не для фактического анализа. Вы, наверное, хотели бы отделить эти два.

+0

Андрис благодарит за помощь. Теперь мне ясно, что загрузка части не является проблемой. Часть анализа наверняка будет проблемой. Если мы закончим сбор, скажем, нескольких миллионов записей, поиск в них может занять дольше 30 секунд. Как я могу выделить части сбора и анализа? Вы имеете в виду передачу данных в EC3 или что-то подобное для анализа? оцените ваше разъяснение! – greppz

+0

Я делаю что-то похожее на это, но на небольшом уровне (0,5 миллиона записей ежедневно). Если вы заранее знаете всю свою логику анализа, вы можете создать несколько таблиц для сводки параллельно, чтобы вам не приходилось искать подробные данные. Если это звучит хорошо, я могу привести пример. – Manjoor

0

В любом случае мы реализовали первую версию GAE. Опыт был очень охарактеризован здесь http://www.carlosble.com/?p=719

Для прототипа доказательств концепции, что мы создали до сих пор, приемлемо. Тем не менее, мы решили не идти с GAE (по крайней мере, в его нынешнем виде) для производственной версии. Боли немного перевешивают преимущества в нашем случае.

Проблемы, с которыми мы сталкивались, были многочисленны. В отличие от моего опыта работы со стеками J2EE, когда вы сталкиваетесь с проблемой, многие времена это тупик. Обходные пути очень сложны и уродливы, если вы можете их найти.

Написав хорошие прототипы, можно выяснить, подходит ли GAE для построения решения, однако проблема заключается в проблеме. Многие новички слишком сильно волнуются по поводу GAE из-за своей шумихи и в конечном итоге плохо работают. Потому что они будут выбирать GAE для всех видов целей, для которых он не подходит.

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