zoukankan      html  css  js  c++  java
  • 企业应用架构模式会话状态(第六章)

    1. 无状态的价值:
      无状态可以仅用很少的对象就可以处理很多的用户,空闲状态的用户越多,无状态服务器就越有用

    2. 会话状态:
      相关性:会话状态只与当前会话有关,它存在于业务事务中,与其他会话及他们的业务事务是分开的;
      与记录数据信息的区别:记录数据时长期保存在数据库中的持久化数据,它对所有会话可见,会话状态需要提交成为数据库中的记录;
      最大问题:出现在处理隔离性的时候(同时操作,或者相关联操作)
      不能把会话中所有数据都看成是会话状态

    3. 存储会话状态的方法:
      1)存储会话状态的3种方法:
        客户会话状态:在客户端保存数据(在web中可用url、cookie、hidden域等)
          适用场景:会话数据较少、用户经常取消会话(如B2C用户直接关闭站点消失)
          问题:安全性、完整性
        服务器会话状态:在服务器内存、文件系统、一张简单的数据库表(以会话标识号为key、以已序列化对象为值)
          优点:容易直接访问会话状态
        数据库会话状态:在服务器端存储(将数据分解为多个表和域)
          优点:状态持久化不易丢失
          问题:隔离性差(需要将会话数据与记录数据相隔离)
        以上3种模式并不相互排斥,可以混合使用。使用时,还需要注意:客户机崩溃、服务器死掉、网络连接断掉
      2)会话扩容:
        会话迁移:允许一次会话从一台服务器转移到另一台服务器,从而可以有一台服务器处理一个请求,其他服务器处理其他请求
          优点:可均衡服务器
          缺点:难以找到会话状态,难以支持会话迁移
        服务器亲和:某次特定会话的所有请求只能由一台服务器处理
          缺点:当客户端有使用代理是,可能会有大量负载集中在某台服务器上

  • 相关阅读:
    一文带你快速认识“华为3D内容平台”!
    [论文解读] 阿里DIEN整体代码结构
    [论文阅读]阿里DIEN深度兴趣进化网络之总体解读
    [阿里DIN] 从论文源码学习 之 embedding层如何自动更新
    [阿里DIN]从论文源码学习 之 embedding_lookup
    [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构
    [阿里DIN] 深度兴趣网络源码分析 之 如何建模用户序列
    aspell命令
    买卖股票的最佳时机含手续费
    grep命令
  • 原文地址:https://www.cnblogs.com/Langzi127/p/2847816.html
Copyright © 2011-2022 走看看