大规模集群下的http 状态解决方案

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,太累了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值