1. ホーム
  2. python

[解決済み] Google App Engineを使った感想は?[クローズド]

2022-08-05 08:23:03

質問

非常に小さな、迅速で汚いサイドプロジェクトを行うことを探しています。Google App EngineがDjangoを組み込んだPythonで動作しているという事実が気に入っています - そのプラットフォームを試す口実になります...しかし私の質問はこれです。

誰か、おもちゃの問題以外のことにアプリエンジンを使用したことがありますか?

App Engine をおもちゃの問題以外に使用した人はいますか?

その他の成功/失敗のメモがあれば、とてもうれしいです。

どのように解決したのですか?

私は私の小さな地震時計アプリケーションのためにappエンジンを試してみました。 http://quakewatch.appspot.com/

私の目的は、app engineの機能を見ることでしたので、そのポイントを紹介します。

  1. Pythonic な独自の Web フレームワークを持っていて、Django のような URL ディスパッチャがあり、Django のテンプレートを使用します。 そのため、もし Django の経験があれば、簡単に使うことができるでしょう。
  2. サーバ上で長時間実行することはできません。あなたがすることは、リクエストに応答することであり、それは迅速でなければなりません。 そのため、バックエンドの処理を多く必要とするアプリの場合、appengineは最適な方法ではありません。 そうでなければ、自前のサーバーで処理を行う必要があります。
  3. 私のquakewatchアプリは、購読機能を持っています。それは、最新の地震が発生したときに電子メールで送信しなければならないことを意味します。 解決策としては、pingablity.comのようなサードパーティのサービスを使用することです。 しかし、ここでもまた、多くの時間を費やさないように注意する必要があります。 タスクをいくつかの断片に分割する必要があります。
  4. Djangoのようなモデリング機能を提供しますが、バックエンドは全く異なりますが、新しいプロジェクトには関係ないはずです。

しかし、全体的に見れば、多くのバックグラウンド処理を必要としないアプリを作るには優れていると思います。

編集部 現在 タスクキュー は、バッチ処理またはスケジュールされたタスクを実行するために使用することができます。

編集 1年間GAEで実際のアプリケーションを作成した後、私の意見は、何百万人ものユーザーにスケールする必要があるアプリケーションを作成していない限り、GAEを使用しない方が良いということです。GAEで保守や些細な作業をするのは、分散型の性質上、頭痛の種です。期限超過のエラーを回避したり、エンティティを数えたり、複雑なクエリを実行するには、複雑なコードが必要です。

編集する。 なぜなら、同じエンティティグループ内のエンティティしかトランザクションで使用できず、2つの異なるグループの更新プロセスが悪夢になるからです。例えば、トランザクションでユーザー1からユーザー2へ送金することは、同じエンティティグループでなければ不可能ですが、それらを同じエンティティグループにすることは、頻繁に更新する目的には最適ではないかもしれません。 これを読む http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine