什么是分布式session?

 我来答
重庆新华电脑学校
2022-02-12 · 学动漫、设计、电竞、电商、短视频、软件等
重庆新华电脑学校
重庆新华电脑学校隶属于新华教育集团,经重庆市人力资源和社会保障局审批成立的重庆地区大规模IT人才教育基地。是国家信息化教育全国示范基地,中国IT教育十大影响力品牌学校。
向TA提问
展开全部
传统的应用服务器,如 tomcat、jboss等,其自身所实现的 session管理大部分都是基于单机的。对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同服务器之间跳转。那么,如何保持服务器之间的session同步呢﹖传统网站一般通过将一部分数据存储在cookic中,来规避分布式环境下 session 的操作。这样做的弊端很多,一方面cookie的安全性一直广为诟病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显。分布式session正是在这种情况下应运而生的。
对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。另一种解决方案便是将session 统一存储在缓存集群上,如 memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session 毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话。
OGko007

2022-06-29 · 超过13用户采纳过TA的回答
知道答主
回答量:1275
采纳率:0%
帮助的人:32.7万
展开全部
普通网站app的session实现方案也就两种,cookie或者url参数(query string),应该没更多的了。因为http也就是个无状态协议,client不自己说清楚自己是谁,server永远是不知道的。

至于分布式的session,你直接把session内容存到redis之类的第三方服务内就得了

其实你的标题和你的问题描述问的是两回事
一是client (browser)通过什么方式跟server端的session一一对应起来,这个跟server端如何存储session没关系
二是server端的session如何在多台服务器之间共享,这个跟cookie什么的一毛钱关系没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
97X3Bn71tVH1

2022-06-29 · 贡献了超过1000个回答
知道答主
回答量:1000
采纳率:0%
帮助的人:28.8万
展开全部
普通网站app的session实现方案也就两种,cookie或者url参数(query string),应该没更多的了。因为http也就是个无状态协议,client不自己说清楚自己是谁,server永远是不知道的。

至于分布式的session,你直接把session内容存到redis之类的第三方服务内就得了

其实你的标题和你的问题描述问的是两回事
一是client (browser)通过什么方式跟server端的session一一对应起来,这个跟server端如何存储session没关系
二是server端的session如何在多台服务器之间共享,这个跟cookie什么的一毛钱关系没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0320zhangyin

2022-06-29 · 超过14用户采纳过TA的回答
知道答主
回答量:1214
采纳率:0%
帮助的人:34.9万
展开全部
普通网站app的session实现方案也就两种,cookie或者url参数(query string),应该没更多的了。因为http也就是个无状态协议,client不自己说清楚自己是谁,server永远是不知道的。

至于分布式的session,你直接把session内容存到redis之类的第三方服务内就得了

其实你的标题和你的问题描述问的是两回事
一是client (browser)通过什么方式跟server端的session一一对应起来,这个跟server端如何存储session没关系
二是server端的session如何在多台服务器之间共享,这个跟cookie什么的一毛钱关系没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茉莉一壶李杜诗4980

2022-06-29 · 贡献了超过427个回答
知道答主
回答量:427
采纳率:0%
帮助的人:15.4万
展开全部
普通网站app的session实现方案也就两种,cookie或者url参数(query string),应该没更多的了。因为http也就是个无状态协议,client不自己说清楚自己是谁,server永远是不知道的。

至于分布式的session,你直接把session内容存到redis之类的第三方服务内就得了

其实你的标题和你的问题描述问的是两回事
一是client (browser)通过什么方式跟server端的session一一对应起来,这个跟server端如何存储session没关系
二是server端的session如何在多台服务器之间共享,这个跟cookie什么的一毛钱关系没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(83)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式