在以下场景中,什么是良好/可扩展的用户会话替代方案:
答案 0 :(得分:3)
如果您可以保证客户端始终连接到同一个Web服务器,则可以将SSL ID用作简单的会话跟踪机制。某些Web服务器公开此功能,并在不支持cookie时自动将其用于会话跟踪。
唯一可行的解决方案,无论在URL本身中包含会话ID。向URL添加参数是最简单的方法,但ID可以嵌入到URL中的任何位置,即作为路径的一部分。您可以使用此ID从数据库中提取有关用户的信息。
当然,你会遇到通常的问题,使用ID欺骗并且会话数据库成为瓶颈。
答案 1 :(得分:1)
首先,恕我直言,没有一个很好的替代会议。问题是如何在禁用cookie时获取它。答案是使用URL参数。因此,您必须为每个请求(包括链接和表单)附加会话ID。所有其他要求并不真正相关。使您的逻辑无状态,因此您没有可扩展性问题:所有请求都应通过负载ballancer到达您的逻辑,因此您可以根据需要添加任意数量的服务器。
答案 2 :(得分:0)
可能是URL Rewriting或某些URI缩短机制,例如http://tinyurl.com或http://goo.gl,因此您可以在255个字符下很好地传递会话详细信息。
注意:不建议使用这些服务,而是使用机制。
答案 3 :(得分:0)
首先,您的要求非常紧张。 我看到的唯一选择是使用这样的方法:http://code.google.com/p/seaside/
简而言之:您的系统会生成无状态网址 http://host/app/@123445568978 然后,您将继续使用db来获取会话对象。
答案 4 :(得分:0)
50000用户做什么?通过位置更新连续拖放服务器或每15分钟点击一次文本链接?在最后一种情况下:将所有内容移动到具有大量内存的单个服务器上。