设计Web应用程序:会话或无会话

Eug*_*sky 6 cookies session application-design session-less web

我希望其他人向我解释,哪种方法更好:使用会话或设计无会话.我们正在开始开发新的Web应用程序,尚未确定要遵循的路径.

无会话设计IMO更为可取:

优点:

  1. 可扩展性.我们可以拥有任意数量的服务器,而无需共享用户会话.他们每个人都可以处理请求(例如通过循环进行负载平衡).
  2. 节省服务器资源.我们不需要在服务器端分配内存(再次 - 可伸缩性).
  3. 服务器重启后无需恢复.

缺点:

  1. 必须在cookie中保留一些用户相关信息(不是关键).
  2. 需要更多编码(但不是很多编码).

在做出最终决定之前,我们还需要考虑哪些主题?

Sli*_*liq 4

今天的应用程序可以很快变得非常大(只要看看所有那些“微小的、简单的”工具,如pastebin、jsfiddle 等!)。在某些时候,16 核高端机器是不够的(有些人可能会说“你必须重新编码你的应用程序以节省 cpu 功耗 bla-bla”,但每个服务器的 http-connection-limit 也是一个问题) 。因此,如果您计划构建一个可能比预期更受欢迎的公共应用程序,那么开始“无会话”就是正确的选择!说实话,这只会影响写真正大东西的人。

会话的杀手级优点是:减少了 mySQL 数据库的流量并且更容易编码。但当你的应用程序变大时,你将不得不重写整个系统。