zoukankan      html  css  js  c++  java
  • 大型网站技术架构,5网站的高可用架构之高可用的应用

    5.3 高可用的应用

    应用层主要处理网站应用的业务逻辑,因此有时也称作业务逻辑层,应用的一个显著特点是应用的无状态性。

    所谓无状态的应用是指应用服务器不保存业务的上下文信息,而仅根据每次请求提交的数据进行相应的业务逻辑处理,多个服务实例之间完全对等,请求提交到任意服务器,处理结果都是完全一样的。

    5.3.1 通过负载均衡进行无状态服务的失效转移

    负载均衡,主要使用在业务量和数据量较高的情况下,当单台服务器不足以承担所有的负载压力时,通过负载均衡手段,将流量和数据分摊到一个集群组成的多台服务器上,以提高整体的负载处理能力。

    集群中的服务必须是无状态对等的,负载均衡才可以起到高可用的作用。

    5.3.2 应用服务器集群的Session管理

     为什么需要session管理?

    因为上面说了,无状态的应用服务才能充分利用负载均衡的故障失效转移。

    但是应用服务不可避免会有状态,比如用户登录后需要在请求处理的时候临时保存登录信息和验证信息、权限信息等;用户购买东西需要有购物车放东西;社交类网站,需要记录当前登录状态、最新发布的消息及好友状态等,用户每次刷新页面都需要更新这些信息。

    集群环境下,Session管理主要有以下手段:

    1、Session复制

    2、Session绑定

    3、利用Cookie记录Session

    4、Session服务器

    将应用服务器的状态分离,分为无状态的应用服务器和有状态的Session服务器,然后针对这两种服务器的不同特性分别设计其架构。

    一般利用分布式缓存、数据库等三方数据源存储Session,在这些产品的基础上进行包装,使其符合Session的存储和访问要求。

    如果业务场景对Session管理有比较高的要求,比如利用Session服务集成单点登录、用户服务等功能,则需要开发专门的Session服务管理平台。

    作者: 元宝爸爸

    出处:https://www.cnblogs.com/wozixiaoyao/p/11965398.html

    版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

    觉得文章不错,点个关注呗!

  • 相关阅读:
    洛谷P1586 四方定理
    洛谷P3807 【模板】卢卡斯定理exgcd
    扩展中国剩余定理详解
    HDU 1573 X问题
    POJ 2891 Strange Way to Express Integers
    中国剩余定理详解
    java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决方案
    MySQL对于有大量重复数据表的处理方法
    【一牛鸣】下周或触发新变盘9.16
    Django里面的RequestContext
  • 原文地址:https://www.cnblogs.com/xinrong2019/p/11497759.html
Copyright © 2011-2022 走看看