微服务服务器集群Session管理演进史(下)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务服务器集群Session管理演进史

3 利用Cookie 记录Session

早期系统使用C/S架构,一种管理Session的方式是将Session记录在客户端,每次请求服务器的时候,将Session放在请求中发送给服务器,服务器处理完请求后再将修改过的Session响应给客户端

如今的B/S架构,网站没有客户端,但是可以利用刘览器支持的Cookie记录Session

image.png

3.1 缺点

受Cookie大小限制,能记录的信息有限

每次请求响应都需要传输Cookie,影响性能

如果用户关闭Cookie,访问就会不正常


3.2 优点

由于Cookie的

简单易用

可用性高

支持应用服务器的线性伸缩

而大部分应用需要记录的Session 信息又比较小

因此事实上,许多网站都或多或少地使用Cookie记录Session。


4 Session服务器

那么有没有可用性高、伸缩性好、性能也不错,对信息大小又没有限制的服务器集群Session管理方案呢?


答案就是Session服务器!利用独立部署的Session服务器(集群)统一管理Session,应用服务器每次读写Session时,都访问Session服务器

image.png

这种方案事实上是将应服务器的状态分离,分为

无状态的应用服务器

有状态的Session服务器


然后针对这两种服务器的不同特性分别设计其架构


对于有状态的Session服务器,一种比较简单的方法是利用

分布式缓存

即使用cacheDB存取session信息,应用服务器接受新请求将session信息保存在redis中,当应用服务器发生故障时,web服务器会遍历寻找可用节点,分发请求,当应用服务器发现session不在本机内存时,则去redis中查找,如果找到则复制到本机,这样实现session共享和高可用。

image.png

数据库等

在这些产品的基础上进行包装,使其符合Session 的存储和访问要求。如果业务场景对Session 管理有比较高的要求,比如利用Session 服务集成单点登录(SSO)、用户服务等功能,则需要开发专门的Session服务管理平台。

目录
相关文章
|
16小时前
|
Web App开发 JavaScript 前端开发
KOI Orchestra 从微服务提供商获得结果,再发送回 WebSocket 服务器
KOI Orchestra 从微服务提供商获得结果,再发送回 WebSocket 服务器
6 0
|
16小时前
|
负载均衡 应用服务中间件 nginx
服务器架构、分布式系统、负载均衡、微服务、高可用性
**分布式系统取代单体架构,以微服务实现高扩展性和灵活性。通过负载均衡技术增强性能,防止单点故障,结合冗余备份与故障切换保障高可用性,这种架构是支撑大规模在线业务的关键。**
46 3
|
16小时前
|
监控 安全 数据可视化
java基于微服务的智慧工地管理云平台SaaS源码 数据大屏端 APP移动端
围绕施工现场人、机、料、法、环、各个环节,“智慧工地”将传统建筑施工与大数据物联网无缝结合集成多个智慧应用子系统,施工数据云端整合分析,提供专业、先进、安全的智慧工地解决方案。
33 1
|
16小时前
|
Kubernetes 安全 Java
运维人少,如何批量管理上百个微服务、上千条流水线?
云效 AppStack 平台针对微服务和云原生环境下的应用管理难题,提供了以应用为中心的资源、流水线和权限管理解决方案。
|
16小时前
|
SQL NoSQL 数据库
深入浅出:微服务架构下的数据库事务管理
【2月更文挑战第12天】 在当今微服务架构日益流行的背景下,如何有效地管理跨服务的数据库事务成为了开发与维护中的一大挑战。本文旨在探讨微服务环境下数据库事务管理的关键技术和策略,包括但不限于分布式事务的基本概念、常见的解决方案(如两阶段提交、补偿事务等),以及这些方案在实际应用中的优缺点比较。通过深入浅出的方式,本文希望能够帮助读者更好地理解并应对微服务架构下的数据库事务管理问题,进而提升系统的稳定性和可靠性。
|
16小时前
|
前端开发 JavaScript API
SpringCloud微服务之学生管理
SpringCloud微服务之学生管理
57 0
|
16小时前
|
监控 安全 Java
JAVA智慧工地管理系统源码基于微服务
JAVA智慧工地管理系统源码基于微服务
58 0
|
16小时前
|
监控 安全 关系型数据库
微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式
微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式
119 0
|
16小时前
|
JavaScript Java 关系型数据库
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
43 0
|
6月前
|
Java API Maven
微服务技术系列教程(27) - SpringCloud- Zuul整合Swagger管理微服务所有API
微服务技术系列教程(27) - SpringCloud- Zuul整合Swagger管理微服务所有API
59 0