я должен оставить Google App Engine? - PullRequest
5 голосов
/ 08 мая 2009

Я занимаюсь разработкой симуляции финансового рынка на GAE. Хотя я достиг большого прогресса, я начал рассматривать вопрос об отказе от GAE и переходе на решение Django + rdbms в течение последних нескольких дней. Позвольте мне изложить мои причины:

  1. транзакции: GAE поддерживает транзакции с отдельными группами лиц. если приложение включает в себя сложные транзакции, такие как транзакции на финансовом рынке, вы не можете использовать этот механизм (читай: механизм транзакций недоступен). Решение этой проблемы было разработано некоторыми благородными пользователями, но еще не выпущено, и, как говорят, доступно только в java.

  2. полнотекстовый поиск: это иронично, но в настоящее время существует очень примитивный API. Более того, улучшение не упоминается в дорожной карте.

  3. пейджинг: разработка дружественного механизма пейджинга не для слабонервных (или для крайних сроков).

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

Я выбрал GAE, чтобы сократить время разработки и легко справиться с проблемами масштабируемости, которые могут возникнуть в будущем. Мне действительно нравится GAE, у него есть некоторые отличные функции, но совместное решение этих проблем потребует слишком много усилий и, вероятно, сведет на нет все преимущества использования GAE.

Что бы вы сделали, если бы вы были мной?

Ответы [ 6 ]

5 голосов
/ 20 мая 2009
  1. транзакции: вы правы, GAE не может обрабатывать сложные запросы, но ничто с подходом Big-Table не сможет обрабатывать сложные вычисления, такие как RDB.

  2. полнотекстовый поиск: поработав с «примитивным» API для полнотекстового поиска, вы вправе остаться в стороне, он очень тусклый и ни в коем случае не масштабируемый (не может объединять более четырех терминов для поиска, если я правильно помню).

  3. фоновый процесс: процесс CRON, доступный в последней версии, не так уж и плох, но, опять же, я думаю, что вы хотите сделать гораздо больше с фоновыми процессами.

3 голосов
/ 08 мая 2009

если вам нужны фоновые транзакции + облачная масштабируемость Amazon Elastic Cloud Computing - единственная известная мне возможность. его немного сложнее поддерживать, поскольку вы в основном получаете всю свою операционную систему, но это также дает вам гибкость для запуска всего, что вы хотите.

2 голосов
/ 12 мая 2009

После обдумывания темы я решил пойти на решение django + rdbms. Похоже, что GAE нужно время, чтобы достичь зрелости.

1 голос
/ 08 мая 2009

Как сказал Андреас, взгляните на Amazon Web Services, это серьезная производственная среда, которая даст вам много вещей, о которых вы, возможно, еще не думали, включая сеть доставки контента (экономит вашу пропускную способность), Simple db и интересные ( но я еще не подумал об использовании, которое я мог бы использовать) Служба Machanical Turk, Oh year и виртуальные серверы EC2 - запускайте на них все что угодно.

1 голос
/ 08 мая 2009

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

Перед тем как перейти в альтернативную среду (Django + rdbms), насколько вы знакомы с этой платформой? Если вы новичок в этом, вы можете просто столкнуться с другими проблемами.

Если, с другой стороны, вы хорошо знакомы с Django + rdbms, то это уже другая история. Конечно, возникает вопрос: а знакомы ли вы с ними, почему вы выбрали GAE? Вы, должно быть, чувствовали, что это дало некоторые преимущества, которые вы откажетесь от отказа от GAE.

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

0 голосов
/ 08 мая 2009

Сколько бы работы, чтобы переместить его? Интересно услышать о вашем опыте с GAE.

Я всегда думаю, что лучше иметь больше контроля, и если вы бьете по кирпичным стенам, вы должны двигаться Это мое мнение, надеюсь, это поможет!

...