2012-04-10 68 views
5

我希望其他人向我解釋哪種方法更好:使用會話或將其設計爲無會話。我們正在着手開發一個新的Web應用程序,但尚未決定採取何種路徑。設計Web應用程序:會話或會話更少

會話更少設計IMO是更優選的:

優點:

  1. 可伸縮性。我們可以擁有儘可能多的服務器,而無需共享用戶會話。它們中的每一個都可以處理請求(例如通過循環法進行負載平衡)。
  2. 節省服務器資源。我們不需要在服務器端分配內存(再次 - 可擴展性)。
  3. 服務器重啓後無需恢復。

缺點:

  1. 有保持餅乾一些用戶相關信息(並不重要)。
  2. 需要更多的編碼(但不是很多編碼)。

在做出最終決定之前,我們需要注意哪些問題?

+0

堆棧溢出不是一個公開討論的好地方。請參閱http://stackoverflow.com/faq – 2012-04-10 22:40:23

+0

以更適當的形式重新提出了該問題。 – 2012-04-11 00:20:54

回答

4

今天的應用程序可以快速增長得非常大(只需看看所有「微小,簡單」的工具,如pastebin,jsfiddle等!)。在某些時候,一個16核心的高端機器是不夠的(有些人可能會說:「爲了節省CPU能耗,你必須重新編碼你的應用程序」,但每個服務器的http連接限制也是一個問題) 。因此,如果您打算構建一個可能比預期更受歡迎的公共應用程序,那麼開始「無需使用」是一條可行之路!說實話,這隻會影響寫出真正大事的人。

會話的殺手鐗是:少得多的mySQL數據庫流量和更容易的編碼。但是當你的應用程序變大時,你將不得不重寫整個系統。

+1

我認爲你不必爲mySQL擁有更多的流量 - 只需要把所有的用戶都保存在內存中(例如用用戶標識的大型哈希表 - 這是絕對可行的)。 – 2012-06-17 04:12:25