zoukankan      html  css  js  c++  java
  • 【解决方案】分布式session

    1. session复制

    多个服务器之间同步session,使每台服务器上都保存所有的session信息。

    优点:

    • 实现简单,一般应用服务器提供session复制的功能
    • 由于每台服务器都存有所有session信息,任何一台宕机集群不受任何影响

    缺点:

    • 每台服务器都存有session信息,占用服务器空间
    • 额外带宽消耗,在集群数量较大的情况下可能会有影响

    2. 粘性session

    通过在负载均衡器上进行配置,根据session的一些特有标志,如ip地址,sessionId等,分配后端应用服务器,气候该用户的所有请求都会转发到第一次分配到的服务器上。

    优点:

    • 应用服务器无感知,不需要任何配置

    缺点:

    • 集群任意一台服务器宕机,那么这台机器上的所有会话数据将全部丢失
    • 负载均衡器需要保存session与后端服务器的映射关系,压力增大,需要考虑性能和容灾

    3. 客户端存储

    客户端利用cookie记录session数据,每次请求都带上session信息以供服务器识别。

    优点:

    • 实现简单

    缺点:

    • session长度有限
    • 安全性不高
    • 每次请求都带上session数据,增加网络消耗和性能消耗

    4. session集中存储

    将session数据存储在统一的地方,比如数据库或者Redis中,集群内所有服务器都到同一个地方获取session信息。

    优点:

    • session单独保存,可以独立进行容灾设计,性能优化等
    • 应用服务器出现问题,session不会丢失
    • 比较方便的实现SSO

    缺点:

    • 需要额外的设计与维护,增加系统复杂度和维护成本
  • 相关阅读:
    Python基础课:类的特殊方法
    绳结大全*****连结丶圈结
    绳结大全*****捆扎丶捆绑他物之绳结
    绳结大全*****末端结丶装饰丶瘤结丶收缩
    Excel:80个最有必要掌握的函数丶65个最有必要知道的快捷键
    excel函数语法,应用(copy+截图)
    聚类K-means算法
    逻辑回归
    MySql-第三部分(外键, 多表连接, 事务,视图 )
    各种计算距离方法总结(转)
  • 原文地址:https://www.cnblogs.com/nickhan/p/13296278.html
Copyright © 2011-2022 走看看