前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >会话保持的核心技术点,1分钟了解 | 架构师之路(17)

会话保持的核心技术点,1分钟了解 | 架构师之路(17)

作者头像
架构师之路
发布2024-12-24 13:13:10
发布2024-12-24 13:13:10
1220
举报
文章被收录于专栏:架构师之路架构师之路

《架构师之路:架构设计中的100个知识点》 17.会话保持相关技术点

为什么大家都不用session sticky了?》中提到了会话保持技术,1分钟说下会话保持的几个相关知识点。

什么是会话保持?

会话保持,是通过负载均衡器将来自同一个用户的请求始终分发到同一台web-server上。这样,session信息仅需要存储在该服务器上,而无需共享。

什么样场景适合使用会话保持?

1. 游戏

2. 无需后端存储,数据一致性要求不高的场景,例如:购物车;

3. 用户量不大,并发量不大,不想把架构搞得太复杂的业务场景;

会话保持可以简化架构设计。

画外音:为了提升扩展性,如今互联网分布式系统架构,非特殊情况,一般不使用会话保持。

那如果使用Nginx实施负载均衡,怎么实现会话保持呢?

Nginx可以通过四层或七层的用户属性hash来实现会话保持。

更具体来说:

(1)四层可以用IP与端口来标识用户,实施hash路由;

(2)七层可以用HTTP协议里的uid,cookie,sid来标识用户,实施hash路由;

四层和七层指的是什么?

这个是来源于网络分层模型。

大学“计算机网络”课程,以前是用这个OSI七层模型,新版教程用TCP/IP五层模型,这两个模型之间有一个对应关系如下:

可以看到,四层是指传输层,七层是指应用层。OSI应用层、表示层、会话层合并到TCP/IP的应用层。

有没有二层,三层交换呢?

有。二层,根据数据链路层MAC地址完成数据交换;三层,根据网络层IP地址完成数据交换。

知其然,知其所以然。

思路比结论更重要。

补充阅读材料:

《Nginx负载均衡配置细节》

https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/

文章来自Nginx官网,有图有代码,实操性强,5分钟搞定。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档