首页 > 代码库 > 淘宝的高性能可伸缩架构---session处理
淘宝的高性能可伸缩架构---session处理
应用无状态
原来
假如在session 保存大量的客户端状态信息,
保存session的服务器宕机, 通过集群解决,
集群不仅有负载均衡, 更重要的是要恢复 failover
问题
tomcat 用集群节点广播复制, jboss用配对复制 等session状态复制策略有局限
会严重影响系统的伸缩性
因为集群节点间 session通信随着节点的增多而开销增大
解决1
因此要做到应用本身的伸缩性, 就要保证应用无状态
实现1
淘宝的session框架用clientcookie实现
将状态转移到cookie里面,
cookie有限制, 每个不大于4k, 一个站点最多保存20个cookie
淘宝的cookie框架是 ‘多值cookie‘, 一个组合键对应多个cookie值,
可以防止数量超过20个, 充分利用每个cookie的储存空间
解决2
利用集中session 管理 + 数据库
实现2
多个无状态的 server 连接到一个集中session服务器,
session服务器将session保存到缓存中, session服务器后端再配合
底层持久性数据源, 比如数据库, 文件系统等等
淘宝的高性能可伸缩架构---session处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。