系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
文中所指的session是广义的session,其含义是用户的会话状态,web-server如tomcat会产生用于存储用户数据的session,以及现在常用的token机制如jwt,都属于这一范畴
1 session同步
多台web-server之间同步session

这种机子同步信息的模型在架构实践中其实非常的多,但是session一致性的维护有更好的方式,而且这种同步信息的模型随着数量的水平扩展消耗是指数级增加的,基本不会考虑这种方式
2 客户端存储
最传统的方式就是cookie + session的模式,保存在客户端的cookie充当了标识用户的作用,通过cookie取得在服务端保存的session,所以这一模型的核心其实是cookie
客户端存储的含义就是将保存在服务端的用户信息转而由客户端存储,服务端不保存任何的信息

JWT
JWT常会宣传的一个优势就是可以节省服务端的存储资源,它可以完全由客户端单独保存,这一实现的前提就是它是能够自描述的
JWT在创建时就所有需要信息用一个key加密起来,之后返回给客户端,之后客户端每次请求都带上JWT,服务端用之前加密的key解密,其完全依靠JWT来判断用户身份,而不需要再做任何查询
安全性
就安全性来说如果不做其他处理

本文探讨了在分布式系统中维护session一致性的四种方案:session同步、客户端存储(包括JWT)、反向代理和后端统一存储。重点讲述了JWT的优势、反向代理在session管理中的作用以及后端统一存储(如使用redis)的常见实践。文章强调了解耦和减少网络调用对于优化session管理的重要性。
最低0.47元/天 解锁文章
7440

被折叠的 条评论
为什么被折叠?



