zoukankan      html  css  js  c++  java
  • session同步

    对于大型分布式网站来说,一个业务后面往往对应着多台服务器。用户的请求将在不同的服务器之间进行跳转,这样的情形下,我们就需要保持session在不同服务器之间的同步。

    1、基于数据库的session共享。

    原理:使用数据库专门用来存储session信息,保证session的持久化。

    优点:服务器出现问题,session不会丢失。

    缺点:如果网站的访问量很大,把session存储到数据库中,会对数据库造成很大压力,还需要增加额外的开销维护数据库,系统整体的吞吐会受到很大的影响。

    2、session 复制

    原理:将一台机器上的Session数据广播复制到集群中其余机器上

    优点:实现简单、配置较少、当网络中有机器Down掉时不影响用户访问

    缺点:在机器较少,网络流量较小广播式复制到其余机器上,当机器数量增多时候会有一定廷时,带来一定网络开销

    3、基于redis的分布式session

    原理:将sessionId作为key, session 作为value 保存在redis集群中

    优点:实现了集群之间的session同步,实现了服务器的高可用

    实现流程:用户请求通过负载均衡设备(比如nginx)转发到不同的应用服务器集群上,应用服务器会根据sessionId来访问redis 集群进行session的存取。这样即使某台服务器宕机了,也不会影响到其他的服务器。

  • 相关阅读:
    PHP 函数
    PHP 循环
    PHP 数组
    PHP Switch 语句
    PHP If...Else 语句
    PHP 字符串
    PHP 变量
    用where导致group by分组字段的索引失效
    mysql之filesort原理
    Windows定时开机并开启工作软件
  • 原文地址:https://www.cnblogs.com/wbringarden/p/9717866.html
Copyright © 2011-2022 走看看