一、Session工作原理:
-
三个问题:
1、Tomcat中的Session保存在哪?
Tomcat本地的ConcurrentHashMap中(本地缓存),以sessionid为key。
2、Tomcat是怎么追踪到请求是属于哪个Session?
通过cookie:产生会话时向浏览器发送存有sessionid的cookie,后续请求都带上这个cookie。
3、Session是不是在用户登录时就产生了?
不是,会话是用来跟踪多个请求的,登录只是明确会话是谁(把用户信息存放到session中)。
经过上面的三个问题,让我们来看看Session的工作原理,主要是下面这5步:
二、反向代理-负载均衡
-
需要为集群找个代理,职责是:接收用户请求,再分发给集群中的机器。对这个代理的要求需要:并发负载能力强,能均衡分发请求。
-
通常对于负载均衡的选择,主要分硬件和软件两个层面,硬件如:NetScaler、F5、Radware和Array等,但是价钱都比较昂贵,一般专业的IT团队大企业使用。软件层面最常见的是LVS、Nginx、HaProxy等,中小互联网公司首选。下面我们主要来介绍下Nginx:
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。中国大陆现在使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx特点:1、占内存少,并发能力强。 2、模块化组件,可扩展性强。 3、跨平台,Linux下性能更优异。
Nginx适用的场景:静态HTTP服务器、正/反向代理服务器、负载均衡、虚拟主机、电子邮件代理、目录保护及访问控制、防盗链、下载限速、Web缓存、请求转发等等。
Nginx负载均衡策略:轮询、Weight权重、IP_Hash、支持扩展自定义策略
三、一致性Session解决方案
1、基于ip_hash负载均衡
2、服务器session复制
3、Session统一缓存
-
总结
最后,欢迎扫码加入星球《极客e家》,星球里,大咖云集,我们将一起打造极客文化。在这里,您将体会到:
【科技动态】:我们聚焦软件技术发展趋势和行业最新动态,尤其ChatGPT这波的AI风向标,让您轻松掌握一手科技资讯。
【共同成长】:除了传统的【系列课程 & 面试】栏目之外,我们还将分享优质的技术文章和工具等,还有更多来自星主和各个小伙伴的原创学习资料,让您的技术更上一层楼,生产性更进一步提高,我们还提供技术交流和问答平台,更有针对性的解决您的问题。
【小白逆袭】:如果您是刚入行或工作不久的软件小白,在这里,您将在极客文化的熏陶中,引领您走向技术大牛之路。
【技术面试】:我们也会分享一些技术面试的重点和常问的技术问题。
【行业资讯】:分享和探讨最新行业资讯,尤其是星主所在城市(大连)的软件行业动态和技术趋势。
更多精彩内容,期待您在星球中探索。