分布式session的解决方案

来源:互联网 发布:rar解压软件官网 编辑:程序博客网 时间:2024/05/19 17:59

分布式session的解决方案

集群、微服务架构中使用session的方式无非几种:

  • 分布式
    • 广泛使用,负载均衡,高可靠,缺点就是增加运维负担
  • 伪分布式:利用会话黏滞(session stickly,又称session绑定) ,针对用户的第一次请求,转发给一服务器并记录.针对后续的 请求转发给它第一次请求的服务器上 ,简单但负载无法均衡

    • 简单,但无法实现负载均衡,还需解决单点问题
  • 无session:直接利用cookie,但cookie存储长度有限

    • 广泛使用,必须依赖cookie,存储内容有限,可以跳过使用session的诸多坑

分布式session的实现方式

实现原理:借助分布式外部存储来存储session信息(如借助数据库、对象存储、分布式缓存、文件存储等);或是利用容器的session的广播复制功能。

推荐实现方式:

基于redis/memcache实现。需要重点保证redis/memcache的高可用,开发和运维成本高

伪分布式session的实现方式

借助nginx的nginx-sticky-module模块即可轻松实现session sticky

无session的实现方式

只使用cookie,但cookie里存储内容有限,需要量力而行