2012-04-10 12 views
5

私は他の人に私に説明したいと思っていました。私たちは新しいWebアプリケーションの開発を開始しており、今後どのような道筋をとるべきかについてはまだ決めていません。Webアプリケーションの設計:セッションまたはセッションなし

セッションレス設計は、IMOより好ましい:

長所:

  1. スケーラビリティ。ユーザーセッションを共有することなく、必要な数のサーバーを所有できます。それぞれがリクエストを処理できます(ラウンドロビンによるロードバランシングなど)。
  2. サーバーリソースを保存します。サーバー側にメモリを割り当てる必要はありません(再スケーラビリティ)。
  3. サーバーの再起動後に回復する必要はありません。

短所:

(重要ではない)クッキーに一部のユーザーに関連する情報を保持する必要が
  1. 多くのコーディングが必要です(コーディングはあまりありません)。

最終決定を下す前に気になるトピックはありますか?

+0

公開討議にはスタックオーバーフローは適していません。 http://stackoverflow.com/faq –

+0

質問をより適切な形で書き直しました。 –

答えて

4

今日のアプリはすばやく大きくなることがあります(pastebin、jsfiddleなどの「小さくてシンプルな」ツールをすべて見てください)。そして、ある時点では、16コアのハイエンドマシンでは十分ではありません(「CPUの消費電力を節約するためにアプリを再コードする必要がある」と言う人もいるかもしれませんが、サーバーあたりのHTTP接続制限も問題です) 。したがって、予想よりも人気が高くなる可能性のある公開アプリケーションを構築する予定の場合は、「セッションレス」を開始することをお勧めします。正直言って、これは本当に大きなものを書く人にしか影響しません。

セッションのキラープロとしては、mySQLデータベースへのトラフィックが少なく、コーディングがはるかに簡単です。しかし、あなたのアプリが大きくなったら、システム全体を書き直す必要があります。

+1

私は、mysqlへのトラフィックをそれほど多くする必要はないと思います。すべてのユーザーをメモリに保持するだけです(たとえば、ユーザーIDごとの大きなハッシュテーブル - これは絶対に実行可能です)。 –

関連する問題