0

Google AppEngine で 2 つのアプリを実行しています。1 つは Python で、もう 1 つは Java です。

Python アプリはインターネットに面しており、ブラウザー ユーザーまたはスマートフォン アプリからの API 呼び出しに対応します。

Python アプリは、多くの場合、ワークフロー エンジン サービスを提供する Java アプリと通信します。Java アプリは、インターネットから直接アクセスされることはありません。これは、サービス指向アーキテクチャに似ています。

私たちの Java アプリは、1 つの常駐インスタンスで構成されています。ただし、Python アプリが (その時点では何もしていない) Java アプリにリクエストを送信すると、常駐インスタンスがリクエストを処理する代わりに、新しい Java インスタンスが生成されることがよくあります。このようにして、最大 10 秒のレイテンシーが発見されましたが、リクエスト処理自体には 1 秒もかかりませんでした。

Google が、ある appengine アプリから別のアプリへのリクエストを、レイテンシよりもスループットが重要な一種のバックエンド ワークロードと見なす可能性はありますか? インターネットからのリクエストと Google 内部からのリクエストには異なるポリシーがありますか (遅延メソッド、cron など)、おそらく appengine 間のリクエストもこのカテゴリに分類されますが、これは常に正しいとは限りません)。

Google は、Java アプリを Python アプリのバックエンドとして実行することを勧めました。実際、Appengine アプリは 2 つではなく 1 つしかありません。

このスレッドの情報: https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/8O7K3cFzBbY

新しいインスタンスを生成してウォームアップするのではなく、appengine の常駐インスタンスに受信リクエストを強制的に処理させる方法に関するアドバイスはありますか?

4

1 に答える 1

1

Javaアプリに<threadsafe>true</threadsafe>要素を追加しようとしましたか?appengine-web.xml

于 2012-08-29T08:55:03.293 に答える