0

AppEngineを一種のRESTfulWebサービスとして使用しようとしています。このサービスは簡単な検索と書き込みを行うことになっているDatastoreのでObjectify、その部分をカバーするのに適しているようです。Datastore'. I'm usingまた、その部分のRedstone XMLRPC`でデータが利用できない場合は、他のサービスへのルックアップもいくつか行います。

ここで、AppEngineの割り当てを考慮してサービングパーツを設計する方法についていくつか質問があります(ほとんどの場合、効率について考える必要がありますが、AppEngineの請求により、より多くの人が効率について考えるようになります)。

  1. まず、単純なを使用することを考えてみましょうServlets。この場合、2つのオプションがあります。それぞれにJsonが渡された異なるサービスを提供する多数のサーブレットを作成するか、単一の(または少数の)サービスを使用して、Jsonで渡されたパラメーターに基づいて実行するアクションを決定します。どちらのデザインも、クロックされる時間数などに意味がありAppEngineますか?

  2. ベアボーンアプローチなどのRESTfulフレームワークを使用する場合、RestletまたはそれRestEasyとは対照的に、コストの違いは何ですか?

この質問は、次のフォローアップのようなものです:GoogleAppEngineを使用したJavaWebサービスの作成

4

2 に答える 2

1

ほとんどのコストはデータストアにかかるため、それほど重要ではありません。したがって、フロントエンドのマイクロ最適化は重要ではありません。

「シンプルサーブ」を選択することで、数セント節約できますが、それはあなたの目標ですか?優れたデータ構造を作成し、必要なすべてのデータをバックグラウンドで準備し、優れたキャッシュ戦略を作成することなどがはるかに重要です。

于 2012-02-23T08:26:35.867 に答える
1

@Igorに同意します。

ただし、考慮すべき追加事項があります。httpセッションです。

GAEはhttpセッションをサポートしています。GAEは分散システムであるため、セッションはデータストアに保存されます(効率的な読み取りのためにMemcacheにキャッシュされます)。セッションは(有効期限をサポートするために)すべてのリクエストで更新されるため、すべてのリクエストでデータストアにアクセスします。

セッションはRESTには必要ないため、オフにする必要があります。

于 2012-02-23T14:03:43.127 に答える