zoukankan      html  css  js  c++  java
  • 《大型网站技术架构:核心原理与案例分析》-- 读书笔记 (2) : 大型网站核心架构要素(2) -- 可用性

    2. 可用性

        网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台服务器上互相备份。

        对于应用服务器而言,多台应用服务器通过负载均衡设备组成一个集群共同对外提供服务。但是一个前提条件是应用服务器上不能保存请求的会话信息,否则服务器宕机,会话丢失,即使将用户请求转发到其它服务器上也无法完成业务处理。

        2.1 高可用的网站架构

            分层模型:应用层、服务层、数据层。大型网站分层的粒度更细,每层再按业务拆分

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

        2.3 应用服务器集群的session管理

            2.3.1 session复制 -- 集群规模较大时,不可取

            2.3.2 session绑定 -- 对同一用户的请求,总是发送到集群中的同一台服务器。当此服务器宕机时,session丢失,不可取

            2.3.3 使用cookie记录session -- 不可取。大小受限; 每次请求响应均需要传输cookie,影响性能; 如果用户关闭cookie,则导致访问不正常

            2.3.4 session服务器(集群) -- 应用服务器每次读写session时,均访问session服务器

        2.4 高可用的服务

            2.4.1 分级管理:服务分高优先级和低优先级。高优先级的服务独立部署。

            2.4.2 超时设置

            2.4.3 异步调用

            2.4.4 服务降级:高峰期间,拒绝或关闭非核心业务。比如双十一期间关闭”评价“服务

            2.4.5 幂等性设计: 服务层保证服务重复调用和调用一次的结果相同

        2.5 高可用的数据

            2.5.1 CAP原理:提供数据服务的存储系统无法同时满足数据一致性(Consistency)、数据可用性(Availibility)、分区耐受性(Partition Tolerance,系统具有跨网络分区的伸缩性)这三个条件。大型网站应用中,通常会选择强化分布式存储系统的可用性(A)和伸缩性(P),而在某种程度上放弃一致性(C)。

            2.5.2 数据备份

        2.6 网站运行监控

            2.6.1 监控数据采集:用户行为日志收集、服务器性能监控、运行数据报告

            2.6.2 监控管理:系统报警、失效转移、自动优雅降级

  • 相关阅读:
    类型“System.Windows.Markup.IUriContext”在未被引用的程序集中定义 解决办法
    c# 根据文件流查看文件真实格式
    WPF ListBoxItem 使用Command命令添加双击事件
    MVVM 在使用 ItemsSource 之前,项集合必须为空
    WPF 自定义TextBox,可控制键盘输入内容
    百万数据如何在前端快速流畅显示?
    NodeJS npm 包装包失败的解决方案
    node.js express 4.x 安装指南(Express不是内部或外部命令解决方案)
    IIS8 不能在此路径中使用此配置节。如果在父级别上锁定了该节
    Npoi操作excel
  • 原文地址:https://www.cnblogs.com/langfanyun/p/6764042.html
Copyright © 2011-2022 走看看