浏览 1631 次
锁定老帖子 主题:大规模集群下的http 状态解决方案
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-19
Http本身是没有状态的,因为我们需要,才有了cookie和session,在不同的应用里面我们会有不同的解决方案,因为很多节点集群,因此基本上不会考虑应用服务器自己的方案。
1.简单的cookie方案 将请求状态保存在cookie里的,严格限制个数、大小,每一个attribute对应一个cookie, 然后,加密解密啥的,这个阶段一个CookieUtil就搞定,应用里面直接使用这个util读写cookie,在简单但是访问量很大需要集群的应用里面比较合适
2.稍微复杂一点 自己实现一套MySession机制,在request和response上包装一下,将多个attribute包装起来,统一序列化,写cookie,这使用应用只需要关心MySession,不知道有cookie,稍微进步一点了,可以在MySession里控制cookie的数量和大小了
3.完善 自己实现HttpSession机制,session里的数据可以根据规则存放入cookie或者集中的session server,session server可以是数据库、内存cache或其他的keyvalue引擎,应用只知道有HttpSession
几个方案,一个比一个完善,一个比一个复杂,根据具体情况选用吧。
另外,如果节点不多的话(一般个位数的),用应用服务器本身的机制其实也不错的。
实际上,以上的这些方案我们都用过,在发展的不同阶段,有不同的解决方案,现在几乎每种方案都还有应用在使用,这也是具体情况具体分析。 在这几个发展时期,都有应用遗留下来,怎么维护?应用之间需要协同,需要同时理解这些cookie啊,session啊啥的,怎么新增内容,修改内容?我们得为每个解决方案提供adapter,太累了! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |