1.2.2.2 ステートレス・オブジェクトを使用すべき場合
ステートレス・オブジェクトは、一般的に優れたパフォーマンスとサーバー・リソースの最適な使用を実現します。これは、オブジェクトがアイドル状態のときはサーバー・リソースが使用されないためです。サーバー・アプリケーションの実装にはステートレス・オブジェクトが適していますが、特に次のような場合に適しています。
- クライアント・アプリケーションが、オブジェクトへの呼出しの間のユーザー入力を待機する場合。
- クライアント・リクエストにサーバー・アプリケーションが必要とするデータがすべて含まれ、サーバーがそのデータのみを使用してクライアント・リクエストを処理できる場合。
- オブジェクトのアクセス・レートは高いが、特定のクライアント・アプリケーションからのアクセス・レートが低い場合。
オブジェクトをステートレスにすることで、サーバー・アプリケーションのリソースがクライアント・アプリケーションからの入力の待機中に不必要に予約されないようにできます。
ステートレス・オブジェクト・モデルを使用するアプリケーションには、次のような特性があります:
- 呼出しとそれに関連する情報は、サーバー・アプリケーションがクライアント・リクエストを実行し終わった後は保持されません。
- 着信クライアント・リクエストは、利用可能な最初のサーバー・プロセスに送信されます。リクエストが終了した後は、アプリケーションの状態が消滅して、サーバー・アプリケーションは別のクライアント・アプリケーション・リクエストに対して使用可能になります。
- オブジェクトの永続状態の情報は、サーバー・プロセス外に存在します。このオブジェクトが呼び出されるたびに、永続状態がメモリーに読み込まれます。
- 特定のクライアント・アプリケーションから1つのオブジェクトへの連続したリクエストが別のサーバー・プロセスによって処理される場合があります。
- 通常、ステートレス・オブジェクトを実行しているマシンの全体的なシステム性能が向上します。