[解決済み] Google App Engineを使った感想は?[クローズド]
質問
非常に小さな、迅速で汚いサイドプロジェクトを行うことを探しています。Google App EngineがDjangoを組み込んだPythonで動作しているという事実が気に入っています - そのプラットフォームを試す口実になります...しかし私の質問はこれです。
誰か、おもちゃの問題以外のことにアプリエンジンを使用したことがありますか?
App Engine をおもちゃの問題以外に使用した人はいますか?
その他の成功/失敗のメモがあれば、とてもうれしいです。
どのように解決したのですか?
私は私の小さな地震時計アプリケーションのためにappエンジンを試してみました。 http://quakewatch.appspot.com/
私の目的は、app engineの機能を見ることでしたので、そのポイントを紹介します。
-
Pythonic な独自の Web フレームワークを持っていて、Django のような URL ディスパッチャがあり、Django のテンプレートを使用します。
そのため、もし Django の経験があれば、簡単に使うことができるでしょう。
- しかし、純粋な Python フレームワークを使うこともできますし、 Django を簡単に追加することができます。 http://code.google.com/appengine/articles/django.html google-app-engine-django ( http://code.google.com/p/google-app-engine-django/ ) プロジェクトは素晴らしく、ほとんど Django プロジェクトで作業しているように動作します。
- サーバ上で長時間実行することはできません。あなたがすることは、リクエストに応答することであり、それは迅速でなければなりません。 そのため、バックエンドの処理を多く必要とするアプリの場合、appengineは最適な方法ではありません。 そうでなければ、自前のサーバーで処理を行う必要があります。
- 私のquakewatchアプリは、購読機能を持っています。それは、最新の地震が発生したときに電子メールで送信しなければならないことを意味します。 解決策としては、pingablity.comのようなサードパーティのサービスを使用することです。 しかし、ここでもまた、多くの時間を費やさないように注意する必要があります。 タスクをいくつかの断片に分割する必要があります。
- Djangoのようなモデリング機能を提供しますが、バックエンドは全く異なりますが、新しいプロジェクトには関係ないはずです。
しかし、全体的に見れば、多くのバックグラウンド処理を必要としないアプリを作るには優れていると思います。
編集部 現在 タスクキュー は、バッチ処理またはスケジュールされたタスクを実行するために使用することができます。
編集 1年間GAEで実際のアプリケーションを作成した後、私の意見は、何百万人ものユーザーにスケールする必要があるアプリケーションを作成していない限り、GAEを使用しない方が良いということです。GAEで保守や些細な作業をするのは、分散型の性質上、頭痛の種です。期限超過のエラーを回避したり、エンティティを数えたり、複雑なクエリを実行するには、複雑なコードが必要です。
編集する。 なぜなら、同じエンティティグループ内のエンティティしかトランザクションで使用できず、2つの異なるグループの更新プロセスが悪夢になるからです。例えば、トランザクションでユーザー1からユーザー2へ送金することは、同じエンティティグループでなければ不可能ですが、それらを同じエンティティグループにすることは、頻繁に更新する目的には最適ではないかもしれません。 これを読む http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
関連
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Google App EngineとGoogle Compute Engineの違いは何ですか?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み] Django 開発設定と本番設定をどのように管理するか?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Pythonの検索パスを他のソースに展開する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法