2012-04-10 80 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