ステートレス、及びステートフルについて調べていたのですが、少々疑問があり質問させて貰いました。
こちらの記事では、ステートレス及びステートフルのメリット、デメリットについて以下のように記載されていました
**ステートフル** ステートフルなやり取りではサーバーはクライアントのセッション状態を保持している。 メリット ・やり取りが完結に済む ・それによりネットワークの帯域を節約できる デメリット ・クライアントの状態を都度把握しておかなければいけないのでクライアントが増えると負荷も増える ・サーバーを複数台設置する場合にはそれぞれのサーバー間でクライアントの状態を同期しなければいけない ・これらの理由によりスケールアウトには向かない **ステートレス** ステートレスなやり取りではサーバーはクライアントのセッション情報を保持しない。 メリット ・クライアントのリクエストは状態に依存せず、常にリソースに対する操作に必要十分な情報となる ・よってサーバーが増えてもそのままのリクエストでいつも同じリソースに対する操作ができる ・このためスケールアウトに向いている ・また処理がクライアントの状態に依らないので処理がシンプルになる デメリット ・やり取りが冗長になりがちである ・リソースへの操作が必要になる度にそのやり取りを繰り返す必要がある ・これによりネットワークの帯域を消費し、処理も遅くなる ・サーバーが状態を保持していないのでエラーが起きたときのハンドリングが複雑になりがちである
これらの情報を踏まえ何点かお聞きしたいことがあります。
仮に、認証機能を必要とする会員サイトでは、リクエストを送信する度に認証情報を付加しなければならない為、スケールアウトを必要としない小規模のサイトでは採用するメリットはあまりないのでしょうか?
また、逆にTwitterなどの大規模サービスでは、スケールアウトが必須かと思いますが、基本的にRESTfulAPIでのステートレスな手法を採用するのが、当然との認識であっていますでしょうか...?
どなたか、こちら2点の疑問点につきまして、ご助言の程頂けましたら幸いです。
回答1件
あなたの回答
tips
プレビュー