Google App Engine の使用に関するフィードバックはありますか? [closed] 質問する

Google App Engine の使用に関するフィードバックはありますか? [closed] 質問する

非常に小規模で、手っ取り早いサイド プロジェクトを考えています。Google App Engine が Django が組み込まれた Python で実行されているという事実が気に入っています。このプラットフォームを試す口実になりますが、私の質問は次のとおりです。

おもちゃの問題以外でアプリ エンジンを利用した人はいますか? 良いサンプル アプリがいくつかあるので、これは実際にも十分使えると思いますが、フィードバックをいただきたいと思います。

その他の成功/失敗のメモがあれば幸いです。

ベストアンサー1

私は小さな地震監視アプリケーションにApp Engineを試しました出典: http://quakewatch.appspot.com/

私の目的は、App Engine の機能を確認することだったので、主なポイントは次のとおりです。

  1. Djangoにはデフォルトで付属していませんが、Pythonの独自のWebフレームワークがあり、DjangoのようなURLディスパッチャがあり、Djangoテンプレートを使用します。したがって、Djangoの経験があれば、簡単に使用できます。
  2. サーバー上で長時間実行されるプロセスは実行できません。行うのはリクエストへの応答であり、応答は迅速でなければ AppEngine によって強制終了されます。したがって、アプリが大量のバックエンド処理を必要とする場合、AppEngine は最適な方法ではありません。そうでない場合は、独自のサーバーで処理を実行する必要があります。
  3. 私の quakewatch アプリにはサブスクリプション機能があり、最新の地震が発生したときにメールで通知する必要がありますが、App Engine でバックグラウンド プロセスを実行して新しい地震を監視することはできません。ここでの解決策は、pingablity.com などのサード パーティ サービスを使用することです。このサービスは、ページの 1 つに接続してサブスクリプション メール サービスを実行しますが、ここでも、あまり時間をかけないように注意したり、タスクを複数の部分に分割したりする必要があります。
  4. Django のようなモデリング機能を提供しますが、バックエンドはまったく異なります。ただし、新しいプロジェクトでは問題にはなりません。

しかし、全体的には、バックグラウンド処理をあまり必要としないアプリを作成するのに最適だと思います。

編集: 今タスクキューバッチ処理やスケジュールされたタスクの実行に使用できます

編集: 1 年間 GAE で実際のアプリケーションを作業/作成した後の私の意見は、何百万ものユーザーに拡張する必要があるアプリケーションを作成するのでなければ、GAE を使用しないことです。分散型の性質上、GAE での些細なタスクの維持と実行は頭痛の種です。期限超過エラーを回避したり、エンティティをカウントしたり、複雑なクエリを実行したりするには、複雑なコードが必要です。そのため、小規模で複雑なアプリケーションでは LAMP を使用する必要があります。

編集: モデルは、将来的に実行したいすべてのトランザクションを考慮して特別に設計する必要があります。これは、同じエンティティ グループ内のエンティティのみがトランザクションで使用できるため、2 つの異なるグループを更新するプロセスが悪夢になるためです。たとえば、トランザクションでユーザー 1 からユーザー 2 にお金を転送することは、同じエンティティ グループにない限り不可能ですが、それらを同じエンティティ グループにすることは、頻繁な更新の目的には最適ではない可能性があります... これを読んでください。http://blog.notdot.net/2009/9/App エンジン上の分散トランザクション

おすすめ記事