极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

应用服务器返回给用户的cookie 会带上sessionId,负载均衡器也会记住这个sessionId和对应服务器ip的映射关系

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

一部分用户的session正好绑定在慢的服务器上

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

纯客户端会话:  用户会话数据直接存到浏览器端,一般浏览器限制大小为4KB,并且不安全

共享session : 服务器间会进行同步,每台服务器都有全量的会话数据

集中式session :使用后台redis集中存储会话数据

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

1.Eureka 作为服务注册中心

2.用户的session数据,存储在某台session server上;session和用户的关系记录在浏览器端的cookie中,不记录在应用服务器

3.会话信息写到server后,会异步存储到db中,保证会话数据不丢失 (写后备份)

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

两级缓存

1.本地LRU cache : 只存热的session数据

2. 可持久化的缓存 persistent Map  :二级缓存可以比较大

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

Eureka 支持跨中心的服务注册发现

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

使用分段锁思路优化

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer

极客时间 分布式系统案例课 笔记06 设计高并发无状态的sessionServer